راه اندازی UART در STM32، رجیستری و HAL

by | 18 تیر, 1400 | STM32, میکروکنترلر, وبلاگ | 4 comments

راه-اندازی-usart-stm32

راه اندازی UART در STM32، رجیستری و HAL

by | 18 تیر, 1400 | STM32, میکروکنترلر, وبلاگ | 4 comments

راه-اندازی-usart-stm32

آموزش STM32 یوبرد

شروع بازی ST

آموزش های رایگان STM32

فیلم های آموزش STM32

آموزش خصوصی STM32

آموزش AVR یوبرد

شاهکار 8بیتی اتمل

آموزش های رایگان AVR

فیلم های آموزش AVR

آموزش خصوصی AVR

آموزش میکروکنترلرهای ARM LPC یوبرد

یادگار فیلیپس

آموزش های رایگان LPC

فیلم های آموزش LPC

آموزش خصوصی LPC

آموزش ARDUINO یوبرد

جاده آسفالت میکروکنترلر

آموزش های رایگان ARDUINO

فیلم های آموزش ARDUINO

آموزش خصوصی ARDUINO

آموزش طراحی PCB یوبرد

تجسم دنیای الکترونیک

آموزش های رایگان طراحی PCB

فیلم های آموزش طراحی PCB

آموزش خصوصی طراحی PCB

آموزش لحیم کاری و مونتاژ و استاندارد IPC یوبرد

ساخت دنیای الکترونیک

آموزش های رایگان لحیم کاری

فیلم های آموزش لحیم کاری

آموزش خصوصی لحیم کاری

آموزش برنامه نویس زبان C و استاندارد MISRA-C یوبرد

گام نخست دنیای میکروکنترلر

آموزش های رایگان برنامه نویسی

فیلم های آموزش زبان C

آموزش خصوصی زبان C

آموزش ماژول های SIM800 یوبرد

تلفن همراه صنعت

آموزش های رایگان سری SIM800

فیلم های آموزش SIM800

آموزش خصوصی SIM800

آموزش STM32 یوبرد

شروع بازی ST

آموزش های رایگان STM32

فیلم های آموزش STM32

آموزش خصوصی STM32

آموزش میکروکنترلر یوبرد، جهش در مسیر سیستم های دیجیتال

آموزش برنامه نویسی میکروکنترلر یوبرد، روح سیستم های دیجیتال

آموزش برد مدار چاپی یوبرد، بستر قطعات الکترونیکی

آموزش لحیم کاری و مونتاژ یوبرد، ساخت دنیای الکترونیک

آموزش ماژول های الکترونیکی یوبرد، شاخ و برگ درخت الکترونیک

اخبار جدید یوبرد در اینستاگرام

اخبار جدید یوبرد در اینستاگرام

راه اندازی UART در STM32 بدون در نظر گرفتن قابلیت های دیگر آن، به راحتی انجام می شود. واحدهای USART میکروکنترلرهای STM32 ویژگی هایی دارند که در نوشتۀ «ویژگی های USART در STM32» به آنها پرداخته ایم. اگر بخواهیم تنها از پایه های RX و TX در مد آسنکرون برای ارتباط سریال استفاده کنیم، کافی است به دو رجیستر مقدار بدهیم. در این نوشته به راه اندازی USART در STM32 در مد آسنکرون، بدون استفاده از امکانات دیگر آن، می پردازیم. و نمونه کدهایی را برای تبادل داده بین میکروکنترلر و کامپیوتر بررسی می کنیم. ابتدا به تشریح اتصالات و ابزارهای لازم برای ارتباط با کامپیوتر می پردازیم. سپس دو نمونه کد رجیستری USART در STM32 را بررسی می کنیم. نمونه کد اول بدون استفاده از وقفه و دریافت داده به روش Polling است. نمونه کد دوم را نیز با استفاده از وقفه و دریافت داده با وقفۀ دریافت نوشته ایم. پس از آن دو نمونه کد USART در STM32 با HAL را بررسی می کنیم. که در یکی از آنها، دریافت به صورت Polling است و در دیگری با وقفۀ دریافت. این نمونه کدها که آنها را برای میکروکنترلر STM32F107VC در نرم افزار Keil نوشته ایم، در پیوست قرار دارند.

راه اندازی USART در AVR

فیلم آموزش میکروکنترلرهای AVR مقدماتی

فیلم آموزش ARM STM32 مقدماتی

فیلم آموزش آردوینو مقدماتی

ارتباط-سریال-stm32-کامپیوتر

تصویر 1 – ارتباط سریال میکروکنترلر STM32 با کامپیوتر

ابزارهای لازم برای ارتباط سریال STM32 با کامپیوتر

برای اتصال پایه های TX و RX میکروکنترلر به پورت سریال کامپیوتر، به مبدل های سطح ولتاژ مثل MAX232 نیاز داریم. اگر از پورت USB کامپیوتر استفاده کنیم، باید از مبدل های USB به سریال مثل CP2102 استفاده کنیم. باید RX و TX این مبدل ها را به ترتیب به TX و RX واحد USART میکروکنترلر متصل کنیم. اما باید به ولتاژ سطح High توجه داشت. مثلاً ولتاژ سطح High در میکروکنترلرهای STM32F1 (با تغذیۀ 3.3 ولت) برابر 3.3 ولت و ولتاژ سطح High آی سی CP2102 برابر 5 ولت است. بنابراین بهتر است برای اتصال پایۀ TX آی سی یا ماژول CP2102 به RX میکروکنترلر، از تقسیم مقاومتی استفاده کنیم. ما در این پروژه از برد توسعۀ STM32F10xVxxx یوبرد استفاده کرده ایم که آی سی CP2102 دارد. در این برد برای اتصال RX و TX آی سی CP2102 به TX و RX واحد USART شمارۀ 1 میکروکنترلر، باید پایه های 1 و 2 و همچنین 3 و 4 پین هدرهای نری روی برد، به یکدیگر متصل شوند.

نصب درایور CP2102

ماژول-max232-cp2102-stm32f10xvxxx

تصویر 2 – ماژول های CP2102 و MAX232  و برد توسعۀ STM32F1 یوبرد

برای راه اندازی UART در STM32 در این نوشته، چون می خواهیم بین میکروکنترلر و کامپیوتر ارتباط برقرار کنیم، به نرم افزار ترمینال پورت سریال نیاز داریم. ترمینال های پورت سریال متعددی وجود دارد. یکی از این ترمینال ها، نرم افزار Hercules است. پس از پروگرام کردن STM32، اتصالات بین میکروکنترلر و کامپیوتر را برقرار می کنیم. سپس نرم افزار Hercules (یا هر ترمینال پورت سریال دیگر) را باز می کنیم. ارتباط سریال را برقرار می کنیم و به تبادل داده می پردازیم. دقت شود که تنظیمات پورت سریال در Device manager کامپیوتر به این صورت باشد:

  • مقدار Bit per second برابر 115200 باشد؛
  • مقدار Data bit برابر 8 باشد؛
  • مقدار Parity برابر None باشد؛
  • مقدار Stop bit برابر 1 باشد؛
  • و مقدار Flow control برابر None باشد.

نرم-افزار-hercules-هرکولس

تصویر 3 – نرم افزار Hercules یا هرکولس

نمونه کد رجیستری برای راه اندازی UART در STM32

برای راه اندازی ارتباط سریال STM32 با مقداردهی به رجیسترها نمونه کد زیر را داریم. ابتدا کتابخانه های stm32f10x.h و gpio.h را فراخوانی و پایه های RX و TX را دیفاین کرده ایم. پایه های RX و TX واحد USART1، بدون Remap، روی PA10 و PA9 هستند. در تابع main متغیری برای ذخیرۀ دادۀ دریافتی تعریف می کنیم. در سه سطر بعدی با مقداردهی به رجیسترهای CR و CFGR، منبع کلاک سیستم را HSI تعیین می کنیم. بنابراین فرکانس کلاک سیستم و واحد USART1 برابر 8 مگاهرتز خواهد بود. سپس به بیت های فعال سازی کلاک USART1 و AFIO از رجیستر APB2ENR مقدار می دهیم. در سطر بعد، با مقداردهی به MAPR، برای برنامه ریزی میکروکنترلر، ارتباط JTAG را غیر فعال و ارتباط SWD را فعال می کنیم. سپس با تابع gpio_config از کتابخانۀ gpio.h، مد پایه های RX و TX را تعیین می کنیم. طبق مطالب Reference manual، آنها را به ترتیب روی Input floating و Alternate function output قرار می دهیم. در ادامه به رجیسترهای USART1 مقدار می دهیم. برای مقداردهی به BRR باید از فرمول زیر استفاده کنیم.


Tx / Rx baud = fck / (16 * USARTDIV) = 8000000 / (16 * 115200) = 4.34

مقدار  fck همان مقدار فرکانس کلاک USART1 است. مقدار USARTDIV هم همان Baud rate مورد نظر که ما می خواهیم 115200 باشد. باید عدد صحیح حاصل را 4 بیت به سمت چپ شیفت دهیم. سپس آن را با 16 * 0.34 به صورت بیتی OR کنیم و نتیجه را در BRR قرار دهیم. در 0.34 * 16، باید نتیجه را روند کنیم.


   0000000000000100	<<	4
=> 0000000001000000	| (0.34 * 16)
=> 0000000001000000	| 5.44
=> 0000000001000000	| 5
=> 0000000001000000	| 0000000000000101	= 0000000001000101 = 69 = 0x45

 

نتیجۀ این عملیات برابر 69 است. که آن را در BRR قرار می دهیم. در ادامه با مقداردهی به بیت های UE و RE و TE از رجیستر CR1، واحد USART1 را به همراه گیرنده و فرستنده فعال می کنیم. تا اینجا برای راه اندازی USART در STM32، آن را پیکربندی کردیم.


#include <stm32f10x.h>
#include "gpio.h"


#define usart1_rx_pin		pa_10
#define usart1_tx_pin		pa_9

int main(void)
{
	unsigned char data = 0;
	
	RCC->CR |= (1<<0);															// HSI on
	while((RCC->CR & (1<<1)) != (1<<1));						// Wait for HSI ready
	RCC->CFGR &=~ ((1<<1)|(1<<0));									// Select HSI as System clock
	
	RCC->APB2ENR |= RCC_APB2ENR_USART1EN | RCC_APB2ENR_AFIOEN;	// Activate AFIO and USART1 Clock
	AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;								// Activate SWD and deactive JTAG

	
	gpio_config(usart1_rx_pin, input_floating, 2);
	gpio_config(usart1_tx_pin, alternate_function_output_push_pull, 2);
	
	
	USART1->BRR = 0x45;
	USART1->CR1 = USART_CR1_RE | USART_CR1_TE | USART_CR1_UE;

 

رجیستر-cr1-brr

تصویر 4 – رجیستر BRR و CR1 واحد USART میکروکنترلرهای STM32F1

راه اندازی UART در STM32، تبادل دادۀ سریال

در حلقۀ while ابتدا بیت RXNE رجیستر SR را چک می کنیم. اگر این بیت 1 شود، به معنی این است که یک بایت داده دریافت شده است. اگر داده ای دریافت شود، RXNE یک و دستورهای درون if اجرا می شود. بایت دریافتی را در از رجیستر DR می خوانیم و آن را در متغیر data قرار می دهیم. سپس بیت TXE رجیستر SR را بررسی می کنیم. تا زمانی که بیت TXE صفر باشد، برنامه از حلقۀ while بدون دستور خارج نمی شود. وقتی رجیستر ارسال خالی می شود، این بیت یک و برنامه از حلقۀ while بدون دستور خارج می شود. سپس داده ای را که دریافت کرده بودیم، در رجیستر DR قرار می دهیم تا ارسال شود. بنابراین انتظار داریم میکروکنترلر هر کاراکتری را که دریافت کرد، همان را به کامپیوتر ارسال کند.


while(1)
	{
		if ( (USART1->SR & USART_SR_RXNE) == USART_SR_RXNE )
		{
			data = USART1->DR;
			
			while(!(USART1->SR & USART_SR_TXE));
			USART1->DR = data;
			
		}
	}
}

 

میکروکنترلر را پروگرام و نتیجۀ تبادل داده را مشاهده می کنیم. می بینیم که به محض ارسال هر کاراکتر، همان را دریافت می کنیم. کاراکترهای صورتی کاراکترهایی هستند که ما برای میکروکنترلر ارسال می کنیم. کاراکترهای مشکی نیز، کاراکترهای دریافتی از میکروکنترلر هستند.

تبادل-داده-میکروکنترلر-کامپیوتر-رجیستری

تصویر 5 – نتیجۀ نمونه کد رجیستری راه اندازی USART در STM32 با روش Polling

نمونه کد رجیستری راه اندازی واحد USART در STM32 با وقفه

اگر بخواهیم از وقفۀ دریافت استفاده کنیم، کافی است برنامه به این صورت باشد. تفاوت برنامۀ زیر با برنامۀ قبلی به این صورت است:

  • در رجیستر CR واحد USART1، به بیت RXNEIE مقدار داده ایم. در این صورت اگر یک بایت داده دریافت شود، هم بیت RXNE یک می شود و هم وقفۀ USART اتفاق می افتد.
  • با تابع NVIC Enable IRQ، وقفۀ USART1 را فعال کرده ایم.
  • دستورهای حلقۀ while بی نهایت را به روتین وقفۀ USART1 منتقل کرده ایم. اگر وقفۀ USART اتفاق بیفتد، و این وقفه ناشی از یک شدن بیت RXNE (دریافت داده) باشد، دستورهای درون if اجرا می شود. و به همان شکلی که پیشتر توضیح دادیم، دادۀ دریافتی از کامپیوتر، دوباره به کامپیوتر ارسال می شود.

به این صورت می توانیم برای راه اندازی UART در STM32 از وقفۀ دریافت استفاده کنیم. مزیت استفاده از وقفۀ دریافت این است که دیگر نیازی نیست به طور دائم وضعیت یک بیت را بررسی کنیم. به محض دریافت یک بایت، وقفۀ USART اتفاق می افتد و در وقفه می توانیم آن بایت را بخوانیم.


#include <stm32f10x.h>
#include "gpio.h"


#define usart1_rx_pin		pa_10
#define usart1_tx_pin		pa_9

int main(void)
{
	unsigned char data = 0;
	
	RCC->CR |= (1<<0);															// HSI on
	while((RCC->CR & (1<<1)) != (1<<1));// Wait for HSI ready
	RCC->CFGR &=~ ((1<<1)|(1<<0));	// Select HSI as System clock
	
RCC->APB2ENR |= RCC_APB2ENR_USART1EN | RCC_APB2ENR_AFIOEN;// Activate AFIO and USART1 Clock
	AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;// Activate SWD and deactive JTAG

	
	gpio_config(usart1_rx_pin, input_floating, 2);
	gpio_config(usart1_tx_pin, alternate_function_output_push_pull, 2);
	
	
	USART1->BRR = 0x45;
	USART1->CR1 = USART_CR1_RE | USART_CR1_TE | USART_CR1_UE | USART_CR1_RXNEIE;
	
	
	NVIC_EnableIRQ(USART1_IRQn);
	
	while(1)
	{
		
	}
}

void USART1_IRQHandler(void)
{
	unsigned char data = 0;
	
	if ((USART1->SR & USART_SR_RXNE) == USART_SR_RXNE)
	{
		data = USART1->DR;
		
		while(!(USART1->SR & USART_SR_TXE));
		USART1->DR = data;
	}
}

 

تبادل-داده-رجیستری-وقفه

تصویر 6 – نتیجۀ نمونه کد رجیستری راه اندازی USART در STM32 با فعال کردن وقفۀ دریافت

نمونه کد HAL برای راه اندازی UART در STM32

برای راه اندازی واحد سریال STM32 با تنظیماتی مثل تنظیمات نمونه کدهای رجیستری، به این صورت عمل می کنیم. در نرم افزار STM32CubeMX، در بخش System core و SYS، دیباگ را روی Serial wire قرار می دهیم (1). در بخش Connectivity و USART1 نیز Mode را روی Asynchronous قرار می دهیم (2). در بخش Configuration در تب Parameter settings هم Baud rate را روی 115200 تنظیم می کنیم (3). اگر بخواهیم از وقفه هم استفاده کنیم، در تب NVIC settings تیک USART1 global interrupt را می زنیم (4). تنظیمات کلاک میکروکنترلر را تغییر نمی دهیم. در تب Project manager نرم افزار، نام و مسیر پروژه و همچنین Toolchain مورد نظر را تعیین می کنیم. ما MDK-ARM را انتخاب کره ایم. در نهایت روی دکمۀ Generate کلیک می کنیم (5).

تنظیمات-uart-stm32cubemx

تصویر 7 – تنظیمات USART در STM32CubeMX

در پروژۀ باز شده، در ابتدای تابع Main رشتۀ buffer_str را تعریف کرده ایم. در حلقۀ while نیز از تابع HAL_UART_Receive برای دریافت یک رشته استفاده می کنیم. پارامتر ورودی اول این تابع اشاره گر به متغیری است که در ابتدای فایل main.c به این صورت تعریف شده است:


UART_HandleTypeDef huart1;

 

که UART_HandleTypeDef یک تایپ دف از استراکچر مربوط به USART است. این استراکچر در کتابخانۀ stm32f1xx_hal_uart.h تعریف شده است. ورودی دوم رشته ای است که می خواهیم کاراکترهای دریافتی در آن ذخیره شوند. پارامتر ورودی سوم، طول رشتۀ دریافتی است. پارامتر ورودی چهارم هم، مقدار زمانی است که تابع برای دریافت رشته منتظر می ماند. پس از ذخیره شدن رشتۀ دریافتی در buffer_str، با تابع HAL_UART_Transmit آن را ارسال می کنیم. پارامترهای ورودی این تابع مانند تابع دریافت است. در نهایت در یک حلقۀ for، کاراکترهای ذخیره شده در buffer_str را پاک می کنیم.


int main(void)
{
	/* USER CODE BEGIN 1 */
	uint8_t buffer_str[11];
	/* USER CODE END 1 */

	/* MCU Configuration
	.
	.
	.
	.
	.	
	 /* Infinite loop */
	 /* USER CODE BEGIN WHILE */
	 while (1)
	 {
		 HAL_UART_Receive(&huart1, buffer_str, 11, 100);
		 
		 HAL_UART_Transmit(&huart1, buffer_str, 11, 100);
		 
		 for(uint8_t counter = 0; counter< 11; counter++)
		 {
			 buffer_str[counter] = 0;
		 }
		 
		 /* USER CODE END WHILE */

		 /* USER CODE BEGIN 3 */
	 }
	 /* USER CODE END 3 */
 }

 

تبادل-داده-میکروکنترلر-کامپیوتر-hal

تصویر 8 – نتیجۀ نمونه کد HAL راه اندازی UART در STM32 با روش Polling

نمونه کد HAL راه اندازی UART در STM32 با وقفه

در صورتی که بخواهیم وقفه را هم فعال کنیم، باید به این صورت عمل کنیم. در نرم افزار STM32CubeMX، تنظیمات را مانند مراحل قبلی انجام می دهیم. در این تنظیمات باید در تب NVIC settings تیک USART1 global interrupt را فعال کنیم. سپس روی دکمۀ Generate code کلیک می کنیم. رشتۀ buffer_str را به صورت عمومی تعریف می کنیم. قبل از حلقۀ while تابع HAL_UART_Receive_IT را فراخوانی می کنیم. با فراخوانی این تابع، وقفۀ USART را برای دریافت داده فعال می کنیم. ورودی اول این تابع همان اشاره گر مذکور است. ورودی دوم آن، رشته ای است که می خواهیم کاراکترهای دریافتی در آن قرار بگیرد. ورودی سوم آن نیز تعداد کاراکترهایی است که می خواهیم دریافت کنیم. کدهای نوشته شده در حلقۀ while را در تابعی دیگر می آوریم. در تابع HAL_UART_RxCpltCallback، که پروتوتایپ مشخصی دارد و متن آن را می توانیم در فایل main.c تعریف کنیم. هر بار که رشته ای دریافت شود، این تابع اجرا می شود. ما در این تابع رشتۀ دریافت شده را ارسال و تابع HAL_UART_Receive_IT را دوباره فراخوانی می کنیم.


/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart1;

/* USER CODE BEGIN PV */
uint8_t buffer_str[11];
/* USER CODE END PV */
.
.
.
.
int main(void)
{
	/* USER CODE BEGIN 1 */
	
	/* USER CODE END 1 */
	.
	.
	.
	.
	/* USER CODE BEGIN 2 */
	
	HAL_UART_Receive_IT(&huart1, buffer_str,11);
	
	/* USER CODE END 2 */

	/* Infinite loop */
	/* USER CODE BEGIN WHILE */
	while (1)
	{
		/* USER CODE END WHILE */

		/* USER CODE BEGIN 3 */
	}
	/* USER CODE END 3 */
}
.
.
.
.
/* USER CODE BEGIN 4 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
	HAL_UART_Transmit(&huart1, buffer_str, 11, 100);
	HAL_UART_Receive_IT(&huart1, buffer_str, 11);
}
/* USER CODE END 4 */

 

تبادل-داده-hal-وقفه

تصویر 9 – نتیجۀ نمونه کد HAL راه اندازی UART در STM32 با وقفه دریافت

 

در ادامه ویدئویی مربوط به امکانات USART در STM32 ارائه شده است. که ویدئویی مربوط به آموزش های سالهای گذشته است. دیدن آن خالی از لطف نیست.

ویدئوی 1 – امکانات USART در STM32

نتایج راه اندازی UART در STM32

  1. واحد USART میکروکنترلرهای STM32 علاوه بر ارتباط USART، قابلیت های دیگری نیز دارد.
  2. ارتباط کامپیوتر با میکروکنترلر از طریق ارتباط سریال USART، به مبدل های سطح ولتاژ (برای استفاده از پورت سریال کامپیوتر) یا مبدل های USB به UART (برای استفاده از پورت USB کامپیوتر) و همچنین یک نرم افزار ترمینال پورت سریال نیاز دارد.
  3. برای راه اندازی USART در STM32 به صورت رجیستری، برای داشتن حداقل امکانات، تها کافی است به دو رجیستر BRR و CR1 مقدار داد.
  4. برای تنظیم باود ریت در واحد USART میکروکنترلرهای STM32، امکان در نظر گرفتن اعشارِ عددِ به دست آمده از فرمول مربوط، وجود دارد.
  5. در راه اندازی واحد UART در STM32 با استفاده از وقفۀ USART، برای این که وقفه با دریافتِ بایت اتفاق بیفتد، می توان بیت RXNEIE رجیستر CR1 را 1 کرد.
  6. برای راه اندازی USART میکروکنترلرهای STM32F1 با توابع HAL، در ساده ترین حالت، کافی است در نرم افزار STM32CubeMX مد ارتباط و باود ریت را تنظیم کرد.
  7. برای راه اندازی USART در STM32 با توابع HAL و وقفۀ دریافت، باید از تابع HAL_UART_Receive_IT استفاده کرد. برای دریافت می توان تابع HAL_UART_RxCpltCallback را به کار برد.


 

سفارش پروژه میکروکنترلر یوبرد

زیرساخت مطمئن صنعت

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر
رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های STM32

میکروکنترلر ARM

میکروکنترلر ARM چیست؟ پردازندۀ ARM

میکروکنترلر ARM ، میکروکنترلرهایی هستند که پردازندۀ آنها ساخت شرکت ARM است. شرکت ARM سازندۀ میکروکنترلر نیست. سازندۀ پردازنده (CPU) است. امروزه به میکروکنترلرهایی که پردازندۀ آنها طراحی شدۀ شرکت ARM باشد، میکروکنترلر ARM گفته می شود.

راه-اندازی-dac-stm32

راه اندازی DAC در STM32

راه اندازی DAC در STM32، ویژگی های DAC در میکروکنترلرهای STM32F1، بلوک دیاگرام DAC در STM32، اتصالات راه اندازی DAC در میکروکنترلر STM32F107VC، نمونه کد رجیستری راه اندازی واحد DAC در میکروکنترلرهای STM32F1، ساخت موج سینوسی با STM32، راه اندازی مبدل دیجیتال به آنالوگ STM32 با توابع HAL

برنامه-نویسی-میکروکنترلر-ویژوال-استودیو

برنامه نویسی میکروکنترلرها با ویژوال استودیو

نصب VisualGDB روی ویژوال استودیو، ساخت پروژه برای برنامه نویسی میکروکنترلرها با ویژوال استودیو، ساخت پروژه برای STM32 در ویژوال استودیو، کدنویسی STM32 در ویژوال استودیو، ساخت پروژه برای AVR در ویژوال استودیو، ساخت پروژه برای LPC در ویژوال استودیو، ساخت پروژۀ آردوینو در ویژوال استودیو

راه-اندازی-adc-stm32

راه اندازی ADC در STM32، رجیستری و HAL

راه اندازی ADC در STM32، استفاده از پیکربندی Independent، کانال تکی، تبدیل Discontinuous و کانال Regular، اتصالات لازم برای راه اندازی واحد ADC در STM32، نمونه کد رجیستری، نمونه کد ADC میکروکنترلر STM32 با HAL، خواندن از چند کانال ADC با توابع HAL، توابع HAL راه اندازی ADC

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های AVR

برنامه-نویسی-میکروکنترلر-ویژوال-استودیو

برنامه نویسی میکروکنترلرها با ویژوال استودیو

نصب VisualGDB روی ویژوال استودیو، ساخت پروژه برای برنامه نویسی میکروکنترلرها با ویژوال استودیو، ساخت پروژه برای STM32 در ویژوال استودیو، کدنویسی STM32 در ویژوال استودیو، ساخت پروژه برای AVR در ویژوال استودیو، ساخت پروژه برای LPC در ویژوال استودیو، ساخت پروژۀ آردوینو در ویژوال استودیو

پروتکل-i2c-protocol

پروتکل I2C، ادغامی از USART و SPI توسط Philips

پروتکل I2C، تاریخچه I2C، ویژگی ها و کاربردهای I2C، عبارات و اصطلاحات I2C، باس، اتصالات و گسترش شبکه I2C، سیگنال های I2C، قالب داده و آدرس در I2C، انتقال داده در I2C، آدرس دهی 10 بیتی، قابلیت Multi-master، حکمیت، مشخصات الکتریکی و زمانی، مقدار مقاومت های پول آپ، Clock Stretching

سون-سگمنت-seven-segment

سون سگمنت، نمایشگر هفت قسمتی

سون سگمنت چیست؟ انواع 7-segment، تاریخچه 7-segment، ساختار 7-segment و نمایش در آن، تعداد ارقام و 7-segmentهای مالتی پلکس، کاربردها، انواع اندازه ها و رنگ ها و مدار راه اندازی 7-segment، بایاس 7-segment، مقدار مقاومت در راه اندازی 7-segment، درایور سون سگمنت، پایه های 7-segment

ترمینال-پورت-سریال-آموزش-hercules

ترمینال پورت سریال و کار با نرم افزار Hercules

ترمینال پورت سریال چیست؟ پورت سریال مجازی چیست؟ نرم افزارهای پورت سریال، ترمینال سریال در CodeVisionAVR و Atmel Studio و Arduino، ارتباط کامپیوتر با میکروکنترلرها و ماژول ها از طریق پورت سریال، ترمینال سریال در پروتئوس، کار با ترمینال سریال نرم افزار Hercules، ارسال و دریافت دادۀ سریال با Hercules

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های میکروکنترلرهای ARM-LPC

برنامه-نویسی-میکروکنترلر-ویژوال-استودیو

برنامه نویسی میکروکنترلرها با ویژوال استودیو

نصب VisualGDB روی ویژوال استودیو، ساخت پروژه برای برنامه نویسی میکروکنترلرها با ویژوال استودیو، ساخت پروژه برای STM32 در ویژوال استودیو، کدنویسی STM32 در ویژوال استودیو، ساخت پروژه برای AVR در ویژوال استودیو، ساخت پروژه برای LPC در ویژوال استودیو، ساخت پروژۀ آردوینو در ویژوال استودیو

پروگرامر-j-link-میکروکنترلر-arm

پروگرامر J-Link و برنامه ریزی میکروکنترلرهای ARM

پروگرامر J-Link، پردازنده هایی که توسط J-Link پشتیبانی می شوند، انواع J-Link، ویژگی های J-Link، نرم افزار J-Flash چیست؟ پروگرام کردن STM32F1xx و LPC17xx با J-Flash و J-Flash Lite و Keil، اتصالات JTAG و SWD در J-Link، تنظیمات J-Flash و Keil برای پروگرام کردن با J-Link

پروتکل-i2c-protocol

پروتکل I2C، ادغامی از USART و SPI توسط Philips

پروتکل I2C، تاریخچه I2C، ویژگی ها و کاربردهای I2C، عبارات و اصطلاحات I2C، باس، اتصالات و گسترش شبکه I2C، سیگنال های I2C، قالب داده و آدرس در I2C، انتقال داده در I2C، آدرس دهی 10 بیتی، قابلیت Multi-master، حکمیت، مشخصات الکتریکی و زمانی، مقدار مقاومت های پول آپ، Clock Stretching

سون-سگمنت-seven-segment

سون سگمنت، نمایشگر هفت قسمتی

سون سگمنت چیست؟ انواع 7-segment، تاریخچه 7-segment، ساختار 7-segment و نمایش در آن، تعداد ارقام و 7-segmentهای مالتی پلکس، کاربردها، انواع اندازه ها و رنگ ها و مدار راه اندازی 7-segment، بایاس 7-segment، مقدار مقاومت در راه اندازی 7-segment، درایور سون سگمنت، پایه های 7-segment

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های آردوینو

استفاده از همه امکانات میکروکنترلر در آردوینو

راه اندازی همه امکانات میکروکنترلر با آردوینو

راه اندازی همه امکانات میکروکنترلر با آردوینو امکان دارد؟ سوالیست که برای بسیاری از مخاطبین آردوینو در اوایل کار با آن بوجود می آید. در این نوشته به پاسخ به این سوال می پردازیم.

راه-اندازی-سون-سگمنت-با-آردوینو

راه اندازی سون سگمنت با آردوینو

راه اندازی سون سگمنت با آردوینو UNO، راه اندازی سون سگمنت 4 تایی آند مشترک با آردوینو، اتصال سون سگمنت به آردوینو، کتابخانۀ سون سگمنت برای آردوینو، نمونه کد راه اندازی سون سگمنت، نمایش اعداد در سون سگمنت 4 تایی، نکات راه اندازی سون سگمنت

راه-اندازی-adc-در-آردوینو

راه اندازی ADC در آردوینو

راه اندازی ADC در آردوینو، راه اندازی LCD گرافیکی KS0108 با کتابخانۀ U8g2، اتصالات لازم برای راه اندازی ADC و LCD گرافیکی KS0108، نمونه کد راه اندازی ADC آردوینو، فرمول محاسبۀ دما با TMP36، راه اندازی سنسور دما با آردوینو، راه اندازی فتوسل (LDR) با آردوینو

راه-اندازی-آردوینو-run-arduino

راه اندازی آردوینو، شروع کار با Arduino

راه اندازی آردوینو، اضافه کردن آردوینو به VS Code و ویژوال استودیو، ایجاد پروژه آردوینو در Arduino IDE و VS Code و ویژوال استودیو، برنامه نویسی آردوینو در Arduino IDE و VS Code و ویژوال استودیو، آپلود برنامه روی آردوینو با Arduini IDE و VS Code و ویژوال استودیو

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های طراحی PCB

فیوز الکترونیکی

فیوز الکترونیکی، حافظ جان بردهای الکترونیکی

فیوز الکترونیکی با قطع کردن به موقع جریان بیش از حد، موجب جلوگیری از آسیب به قطعات برد و همچنین کاهش خطرات ایمنی می‌شوند.

تست-الکتریکال-pcb

تست الکتریکال PCB و روش های آن

تست الکتریکال برد مدار چاپی چیست؟ برخی انواع تست PCB، تست الکتریکال PCB، پارامترهای اندازه گیری در تست الکتریکال، روش های تست الکتریکال برد مدار چاپی، روش تست Flying probe، روش تست Universal grid یا Bed of nails، نکات تست الکتریکال برد مدار چاپی

رله-relay

رله، سوییچ تحریک پذیر

تعریف رله، تاریخچه، طرز کار رلۀ الکترومکانیکی، اصطلاحات، انواع الکترومکانیکی، رلۀ حالت جامد، رلۀ هیبریدی، رلۀ حرارتی و انواع تحریک شونده با عوامل غیر الکتریکی، انواع موجود در صنعت برق و برق صنعتی، رلۀ ایمنی و برخی انواع حفاظتی، رلۀ دیجیتال، لزوم استفاده و راه اندازی رله، مشخصات الکتریکی

دیود-tvs

دیود TVS، حذف ولتاژ گذرا و ESD

ولتاژ گذرا و TVS (Transient Voltage Suppression) چیست؟ دیود TVS چیست؟ حذف ولتاژ گذرا با دیود TVS، حذف تخلیه الکتریسیته ساکن (ESD) با TVS، مشخصات الکتریکی دیودهای TVS، انواع دیودهای TVS، نماد شماتیک دیودهای TVS، کاربرد دیودهای TVS، کاربرد خودرویی، تفاوت دیودهای TVS و دیودهای زنر، انتخاب دیودهای TVS مناسب

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های لحیم کاری و مونتاژ استاندارد

لحیم کاری قطعات حساس

لحیم کاری قطعات حساس

لحیم کاری قطعات حساس، باید با دقت به دمای لحیم کاری انجام شود. در این نوشته 4 نکته در رابطه با حرارت در لحیم کاری قطعات حساس را بیان می کنیم.

انواع-هویه

انواع هویه، ویژگی ها و کاربرد آنها

تعریف و انواع هویه، هویه های الکتریکی و غیر الکتریکی، هویه ها از لحاظ اتصال نوک هویه به هیتر آن، توان هویه، قابل حمل بودن، سرعت داغ شدن هویه، هویه های AC و DC، هویه های قلمی و تفنگی، قابلیت های دیگر هویه ها، انواع مختلف هویه، نکات هویه

تست-الکتریکال-pcb

تست الکتریکال PCB و روش های آن

تست الکتریکال برد مدار چاپی چیست؟ برخی انواع تست PCB، تست الکتریکال PCB، پارامترهای اندازه گیری در تست الکتریکال، روش های تست الکتریکال برد مدار چاپی، روش تست Flying probe، روش تست Universal grid یا Bed of nails، نکات تست الکتریکال برد مدار چاپی

انواع-نوک-هویه

انواع نوک هویه و کاربرد آنها

انواع نوک هویه متداول، انواع اتصال نوک هویه به هیتر، مشخصات و کاربرد انواع نوک هویه، نوک هویه تایپ B، تایپ I، تایپ BI، تایپ SI، تایپ D، تایپ C، تایپ K، قاشقی، T شکل و Diamond، احیا کننده های نوک هویه، نام های نوک هویه

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های حوزه الکترونیک

فیوز الکترونیکی

فیوز الکترونیکی، حافظ جان بردهای الکترونیکی

فیوز الکترونیکی با قطع کردن به موقع جریان بیش از حد، موجب جلوگیری از آسیب به قطعات برد و همچنین کاهش خطرات ایمنی می‌شوند.

دومینوی تخصص در مهندسی الکترونیک

دومینوی تخصص در مهندسی الکترونیک

تخصص در مهندسی الکترونیک با انتخاب مسیر صحیح و استمرار در مسیر پیشرفت میسر می شود. هر سنگ مسیر، دومینو وار باعث حرکت دادن سنگ بعدی شود.

دانشگاه و صنعت در الکترونیک

دانشگاه و صنعت در الکترونیک باید با هم ارتباط داشته باشند. چرا باید ارتباط داشته باشند؟ در کشور ما وضعیت ارتباط دانشگاه و صنعت بخصوص در زمینۀ الکترونیک چطور است؟

اهمیت-تخصص-مهندس-الکترونیک

اهمیت تخصص مهندس الکترونیک

اهمیت تخصص مهندس الکترونیک در جایگاه، حقوق، آیندۀ یک مهندس الکترونیک را می بینیم.

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های برنامه نویسی میکروکنترلر

استفاده از زبان سی در سیستم های حیاتی

از همه ابزارهای زبان برنامه نویسی میکروکنترلرها استفاده کنیم؟!

ابزارهای زبان برنامه نویسی میکروکنترلرها در استانداردهای برنامه نویسی محدود شده است. بطور مثال در استاندارد MISRA-C برای سیستم های حیاتی، استفاده از دستورهای goto و continue ممنوع شده است. در این نوشته به بررسی این موضوع می پردازیم.

مهمترین کاربردهای اشاره گر

مهمترین کاربردهای اشاره گر در زبان C میکروکنترلرها

کاربردهای اشاره گر در زبان C میکروکنترلرها شامل موارد مختلفی است که مهمترین آنها «ارسال اشاره گر به تابع» و «اشاره گر به تابع» است. در این نوشته ابتدا آنها را به اختصار شرح داده سپس در مورد اهمیت کاربرد اشاره گر در میکروکنترلر توضیح می دهیم.

انواع-متغیر-زبان-c-cpp

انواع متغیر در زبان برنامه نویسی C

انواع متغیرها در زبان C، تعریف انواع متغیر در زبان C، انواع متغیر در نرم افزار کدویژن و نرم افزار Keil، آرایه و رشته در زبان برنامه نویسی C، انواع متغیر استراکچر (Structure) و یونیون (union)، typedef در زبان C، متغیر نوع volatile، متغیرهای عمومی (Global)، متغیرهای محلی (Local)

ساخت-کتابخانه-c-cpp

نحوۀ ساخت کتابخانه در زبان برنامه نویسی C برای میکروکنترلرها

کتابخانه در زبان برنامه نویسی چیست؟ ساخت کتابخانه در نرم افزار CodevisionAVR، کتابخانه با پسوند h، کتابخانه با پسوند c، کتابخانه با پسوند h و c، فراخوانی کتابخانه، کاربرد دستور پیش پردازندۀ #ifndef در نوشتن کتابخانه، فراخوانی کتابخانه از پوشه های مختلف، ساخت کتابخانه در نرم افزار Keil

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های ماژول های الکترونیکی

راه-اندازی-ماژول-sim800

راه اندازی ماژول SIM800، تماس تلفنی و پیامک

راه اندازی ماژول SIM800، AT کامند چیست، سخت افزارها و نرم افزارهای مورد نیاز برای راه انداختن SIM800، تغذِیۀ ماژول SIM800، ارتباط سریال ماژول SIM800، ارسال AT کامند به SIM800، سینتکس های AT کامند در SIM800، تنظیمات اولیۀ SIM800، تماس تلفنی و ارسال و دریافت SMS با SIM800

آپدیت-فریمور-ماژول-sim800

آپدیت Firmware ماژول SIM800

نحوه آپدیت Firmware ماژول SIM800، آپدیت Firmware بلوتوث ماژول SIM808 و SIM800، نکات قبل از شروع آپدیت ماژول های SIM800، آپدیت ماژول های SIM800 با نرم افزار SIM800 Series download Tools Customer، مراحل به روز رسانی و تغییر نرم افزار SIM800، آپدیت Firmware ماژول SIM800C

سامانه-gnss-gps

سامانه GNSS و GPS، سامانه های موقعیت یاب جهانی و محلی

معرفی سامانه GNSS، سامانه موقعیت یاب محلی بدون ماهواره، ناوبری هذلولوی، سامانه ماهواره ای ناوبری جهانی و محلی، GPS و GLONASS، خطای GPS محیط های مختلف، NMEA چیست؟ فرمت داده خروجی GPS، قالب داده GPS در ماژول SIM808، فرمت های استاندارد طول و عرض جغرافیایی، تنظیمات ماژول های سامانه GNSS

بلوتوث-bluetooth

معرفی بلوتوث، پروفایل های بلوتوث و نسخه های بلوتوث

نام گذاری بلوتوث، مزیت بلوتوث به WIFI، کلاس کاری و پروفایل بلوتوث، بلوتوث نسخه 1.0، B1.0، 1.1 و 1.2، نسخه 2.0 و EDR، نسخه 2.1 و EIR، نسخه 3.0 و HS، نسخه 4.0 و BLE یا LE، بلوتوث هوشمند، نسخه 4.1، 4.2 و IPV6، نسخه 5، کاربرد بلوتوث در خودرو

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین تاپیک های ماژول های الکترونیکی

راه-اندازی-ماژول-sim800

راه اندازی ماژول SIM800، تماس تلفنی و پیامک

راه اندازی ماژول SIM800، AT کامند چیست، سخت افزارها و نرم افزارهای مورد نیاز برای راه انداختن SIM800، تغذِیۀ ماژول SIM800، ارتباط سریال ماژول SIM800، ارسال AT کامند به SIM800، سینتکس های AT کامند در SIM800، تنظیمات اولیۀ SIM800، تماس تلفنی و ارسال و دریافت SMS با SIM800

آپدیت-فریمور-ماژول-sim800

آپدیت Firmware ماژول SIM800

نحوه آپدیت Firmware ماژول SIM800، آپدیت Firmware بلوتوث ماژول SIM808 و SIM800، نکات قبل از شروع آپدیت ماژول های SIM800، آپدیت ماژول های SIM800 با نرم افزار SIM800 Series download Tools Customer، مراحل به روز رسانی و تغییر نرم افزار SIM800، آپدیت Firmware ماژول SIM800C

سامانه-gnss-gps

سامانه GNSS و GPS، سامانه های موقعیت یاب جهانی و محلی

معرفی سامانه GNSS، سامانه موقعیت یاب محلی بدون ماهواره، ناوبری هذلولوی، سامانه ماهواره ای ناوبری جهانی و محلی، GPS و GLONASS، خطای GPS محیط های مختلف، NMEA چیست؟ فرمت داده خروجی GPS، قالب داده GPS در ماژول SIM808، فرمت های استاندارد طول و عرض جغرافیایی، تنظیمات ماژول های سامانه GNSS

بلوتوث-bluetooth

معرفی بلوتوث، پروفایل های بلوتوث و نسخه های بلوتوث

نام گذاری بلوتوث، مزیت بلوتوث به WIFI، کلاس کاری و پروفایل بلوتوث، بلوتوث نسخه 1.0، B1.0، 1.1 و 1.2، نسخه 2.0 و EDR، نسخه 2.1 و EIR، نسخه 3.0 و HS، نسخه 4.0 و BLE یا LE، بلوتوث هوشمند، نسخه 4.1، 4.2 و IPV6، نسخه 5، کاربرد بلوتوث در خودرو

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین های دانلودی

پک های نرم افزار KEIL

دانلود پک های میکروکنترلر برای Keil

دانلود پک های میکروکنترلر برای Keil پیش نیاز استفاده از میکروکنترلر موردنظر در نرم افزار Keil است. شامل پکهای میکروکنترلر STM32 و LPC

دانلود نرم افزار KEIL

دانلود نرم افزار Keil MDK-ARM

دانلود نرم افزار Keil، یک محیط یکپارچۀ توسعۀ نرم افزار (IDE) برای میکروکنترلرها را در اختیار ما قرار می دهد.

دانلود نرم افزار STM32CubeProg

دانلود نرم افزار STM32CubeProg

دانلود نرم افزار STM32CubeProg ، یک ابزار برنامه ریزی برای میکروکنترلرهای STM32 از طریق درگاه JTAG و SWD را در اختیار شما قرار می دهد.

دانلود پک های میکروکنترلر برای STM32Cube

دانلود پک های میکروکنترلر برای STM32Cube

دانلود پک های میکروکنترلر برای STM32Cube لازم برای استفاده از میکروکنترلر موردنظر در پکیج نرم افزارهای STM32Cube است.

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

جدیدترین های میکروآموزش

فرق آماتور و حرفه‌ای در الکترونیک

فرق آماتور و حرفه‌ای در الکترونیک

در این میکروآموزش، فرق آماتور و حرفه‌ای در الکترونیک را با نکات فنی واقعی، تجربه صنعتی و استانداردهای بین‌المللی بررسی می‌کنیم.

علت سوختن برد الکترونیکی

علت سوختن برد الکترونیکی چیست؟

علت سوختن برد الکترونیکی چیست؟ در این میکروآموزش، با مقایسه طراحی معماری و برد الکترونیکی، مفهوم طراحی پایدار را بررسی می‌کنیم.

پرینتر خمیر قلع در مونتاژ SMD

پرینتر خمیر قلع در مونتاژ SMD

پرینتر خمیر قلع در مونتاژ SMD یکی از مراحل کلیدی در فرآیند تولید برد است. این آموزش اهمیت این مرحله و دقت مورد نیاز را بررسی می‌کند.

مسیر برگشت جریان در طراحی PCB

مسیر برگشت جریان در طراحی PCB

مسیر برگشت جریان در طراحی PCB مفهومی کلیدی برای عملکرد بی‌نویز است. این آموزش با نگاهی الهام‌گرفته از معماری ایرانی، اهمیت آن را بررسی می‌کند.

4 Comments

  1. سلام وقت بخیر. بله. آموزش ها ادامه پیدا میکنه و تو سایت قرار میدیم. حدود دو الی سه ماه دیگه ان شاءالله

    Reply
  2. سلام. خیلی عالیه که هم با رجیستر نوشتید هم با هال. فقط کاش میشد توابعی هم میذاشتید که بتونیم باهاش رشته و عدد و .. به کامپیوتر ارسال کنیم مثل آردوینو که از سریال مانیتور استفاده می کنیم

    Reply
    • سلام. خیلی ممنون از توجهتون. هدف این نوشته راه اندازی بوده و نحوۀ مقداردهی به رجیسترها و کار با STM32CubeMX برای راه اندازی. بعضی از نوشته هامون مثل راه اندازی سون سگمنت با STM32 | یوبرد یه مقدار جلوتر رفتیم و توابعی رو ساختیم. تو این نوشته اگه لازم باشه اضافه می کنیم یا این که طی نوشته های آینده این مورد رو هم بهش می رسیم.

      Reply
  3. سلام و احترام
    خدا قوت
    از آموزش هایی که داخل سایت قرار داده اید بسیار عالی بود
    ان شاءالله خدا خیر تون بده

    Reply

Submit a Comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

آموزش های یوبرد

آموزش TFT LCD با TouchGFX و STM32 یوبرد

گرافیک کاربرپسند با میکروکنترلر ST

آموزش FreeRTOS یوبرد

زمان واقعی در میکروکنترلر و پردازنده های کوچک با FreeRTOS

آموزش طراحی PCB و نویز یوبرد

تجسم دنیای الکترونیک

آموزش زبان C و MISRA-C یوبرد

گام نخست دنیای میکروکنترلر

آموزش لحیم کاری و IPC-A-610 یوبرد

ساخت دنیای الکترونیک

آموزش آردوینو یوبرد

جادۀ آسفالت میکروکنترلر

آموزش ماژول های SIM800 یوبرد

تلفن همراه صنعت

آموزش زبان ++C و ++MISRA-C یوبرد

لمس شی گرایی در میکروکنترلرها

آموزش میکروکنترلرهای AVR یوبرد

شاهکار 8 بیتی Atmel

آموزش میکروکنترلرهای LPC یوبرد

یادگار فیلیپس

دانلود

لطفا برای دریافت لینک دانلود اطلاعات خواسته شده را وارد نمایید
ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است