U BOARD ir.

ورود به حساب کاربری
مرا بخاطر بسپار
گذرواژه را فراموش کرده اید؟
هنوز ثبت نام نکرده اید؟ تنها سه گزینه برای ثبت نام ثبت نام

U BOARD ir.

ثبت نام
ثبت نام
لطفا تمامی موارد خواسته شده را تکمیل نمایید لطفا ایمیل معتبر وارد نمایید لطفا گذرواژه را بیشتر از 6 کاراکتر وارد نمایید لطفا گذرواژه را مجددا بیشتر از 6 کاراکتر وارد نمایید
راه اندازی USART در AVR

راه اندازی USART در AVR در اتمل استودیو و کدویژن با روش Polling و وقفۀ دریافت، اتصالات لازم برای ارتباط سریال AVR با کامپیوتر، ترمینال پورت سریال برای تبادل دادۀ سریال، نمونه کد USART میکروکنترلر AVR به روش Polling، نونه کد USART میکروکنترلر AVR با وقفه

data:image/jpeg;base64,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
رضا اسدی ۹۸/۰۹/۲۶ زمان موردنیاز برای مطالعه ۲۰ دقیقه

راه اندازی USART در AVR موضوع مورد بحث این نوشته است. در این نوشته به راه اندازی واحد USART در AVR با وقفۀ دریافت و بدون آن می پردازیم. واحد USART میکروکنترلرهای AVR امکانات و ویژگی هایی دارد که برخی از آنها عبارتند از:

  • عملکرد تمام دو طرفه؛
  • عملکرد سنکرون و آسنکرون؛
  • پشتیبانی از فریم دادۀ 5 تا 9 بیتی و تعداد 1 یا 2 بیت Stopقابل انتخاب؛
  • تولید Parity زوج یا فرد و بررسی Parityبه صورت سخت افزاری؛
  • آشکارساز Data over run؛
  • آشکارساز خطای فریم؛
  • سه وقفۀ جداگانه برای اتمام ارسال، اتمام دریافت و خالی شدن رجیستر ارسال؛
  • مد ارتباطی مولتی پروسسور؛

اما در پروژه هایی که در این نوشته بررسی می کنیم، از تمام این قابلیت ها استفاده نمی کنیم. هدف ما در اینجا تنها راه اندازی ارتباط سریال AVR برای تبادل داده با کامپیوتر است. هر چند نمونه کدهایی که می آوریم، برای ارتباط سریال USART بین دو میکروکنترلر AVR نیز قابل استفاده اند. نمونه کد اول که بررسی می کنیم، در اتمل استودیو است و دریافت در آن به روش Polling است. نمونه کد دوم نیز در اتمل استودیو است و دریافت در آن با وقفۀ دریافت است. نمونه کد سوم نیز در CodeVisionAVR است. این نمونه کد را با CodeWizardAVR ایجاد کرده ایم و دریافت در آن با وقفۀ دریافت است. این نمونه کدها در پیوست قرار گرفته اند. نمونه کد اول را در نرم افزار CodeVisionAVR نیز نوشته ایم و در پیوست قرار دارد. لازم به ذکر است که این نمونه کدها برای میکروکنترلر ATmega64A و برای راه اندازی USART شمارۀ صفر آن هستند.

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

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

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

 

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

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

نصب درایور CP2102

cp2102-atmega64pin

تصویر 2 – آی سی CP2102 روی برد توسعۀ ATmega64Pin یوبرد

 

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

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

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

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

 

نمونه کد راه اندازی USART در AVR، روش Polling

برنامۀ زیر، نمونه کد USART در AVR با روش Polling در نرم افزار اتمل استودیو است. ابتدا تعیین کرده ایم که فرکانس کاری CPU برابر 8 مگاهرتز است. سپس کتابخانۀ io.h را فراخوانی کرده ایم. در تابع main متغیر data را از نوع char تعریف کرده ایم.  در سطر بعد با یک کردن بیت های 3 و 4 رجیستر UCSR0B، فرستنده و گیرندۀ واحد USART را فعال کرده ایم. تعداد بیت های دادۀ فریم را با یک کردن بیت های 2 و 1 رجیستر UCSR0C برابر 8 قرار داده ایم. در مد آسنکرون وقتی بیت U2X0 صفر است و می خواهیم Baud rate برابر 9600 باشد، مقدار UBRR0 برابر است با:

UBRR0 = (F_CPU / (16 * BAUD)) - 1 = (8000000 / (16 * 9600)) - 1 = 51

 

این مقدار را در رجیستر های UBRR0 قرار داده ایم. چون مقدار 8 بیتی است، تنها به UBRR0L مقدار داده ایم. بقیۀ تنظیمات واحد USART در حالت پیش فرض هستند. یعنی مد آسنکرون، تعداد یک بیت Stop و Parity هم غیر فعال.

در ادامه در حلقۀ while، وضعیت بیت RXC0 را بررسی می کنیم. هر گاه بایتی دریافت شود، این بیت 1 می شود و دستورهای درون if اجرا می شوند. درون if، بایت دریافت شده را از رجیستر UDR0 می خوانیم و در متغیر data قرار می دهیم. سپس در یک حلقۀ while بدون دستور، بیت 5 رجیستر UCSR0A را بررسی می کنیم. هر گاه رجیستر داده خالی شود، این بیت 1 می شود و می توانیم در رجیستر داده بنویسیم. هرگاه رجیستر داده خالی شد، برنامه از حلقۀ while خارجی می شود. سپس مقدار دریافتی را که در متغیر data قرار داده بودیم، دوباره در UDR0 قرار می دهیم تا ارسال شود. بنابراین انتظار داریم هر کاراکتری که از کامپیوتر به میکروکنترلر ارسال می کنیم، میکروکنترلر همان را برای کامپیوتر ارسال کند.

#define F_CPU 8000000UL

#include <avr/io.h>

int main(void)
{
	char data=0;
	
	
	UCSR0B = (1<<RXEN0)|(1<<TXEN0);		// Bit 4 and 3 of UCSR0B
	UCSR0C = (1<<UCSZ01)|(1<<UCSZ00);	// Bit 2 and 1 of UCSR0C
	UBRR0L = 51;
	
	while (1)
	{
		if ( (UCSR0A & (1<<RXC0)) == (1<<RXC0))
		{
			data = UDR0;			
			while((UCSR0A & (1<<UDRE0)) != (1<<UDRE0)); // Bit 5 of UCSR0A
			UDR0 = data;
		}
	}
}

 

راه-اندازی-uart-polling

تصویر 4 – نتیجۀ راه اندازی USART در AVR، روش Polling

 

نمونه کد راه اندازی USART در AVR با وقفه، اتمل استودیو

برای این که میکروکنترلر بدون بررسی دائم بیت های پرچم USART، متوجه دریافت داده شود، باید وقفۀ دریافت USART را فعال کنیم. در این صورت هرگاه بایتی دریافت شود، وقفۀ دریافت اتفاق می افتد. و نیازی نیست که CPU دائماً درگیر بررسی بیت RXC باشد. برای فعال کردن وقفه USART در AVR برای دریافت، باید بیت 7 رجیستر UCSRnB را یک کنیم. که در نمونه کد زیر برای USART شمارۀ صفر، بیت 7 رجیستر UCSR0B را یک کرده ایم. بقیۀ تنظیمات USART0 همانند نمونه کد قبلی است. پس از پیکربندی USART0، با اجرای تابع sei، پرچم کلی وقفه ها را فعال کرده ایم. همچنین برای استفاده از وقفه ها در اتمل استودیو لازم است کتابخانۀ interrupt.h را فراخوانی کنیم. دستورهای حلقۀ while را نیز به روتین وقفۀ دریافت انتقال داده ایم. در روتین وقفۀ دریافت USART0، ابتدا مقدار رجیسترهای UCSR0A و UDR0 را در متغیرهای status و data قرار می دهیم. سپس بیت های مربوط به ارور فریم، ارور Parity و ارور Data over run را بررسی کرده ایم. هرگاه این بیت ها صفر باشند، در دریافت داده، خطایی به وجود نیامده است. و دستورهای درون if اجرا می شوند. در درون if، ابتدا خالی بودن رجیستر داده را بررسی کرده ایم. در صورتی که رجیستر داده خالی باشد، برنامه از حلقۀ while بدون دستور خارج می شود. در سطر بعد بایت دریافتی را در UDR0 قرار داده ایم تا ارسال شود. عملکرد این نمونه کد هم مثل نمونه کد قبلی است، اما این بار با فعال کردن وقفۀ دریافت.

#define F_CPU	8000000UL

#include <avr/io.h>
#include <avr/interrupt.h>


int main(void)
{	
	UCSR0B = (1<<RXCIE0) | (1<<RXEN0) | (1<<TXEN0);	// Bit 7, 4, 3 of UCSR0B
	UCSR0C = (1<<UCSZ01) | (1<<UCSZ00);		// Bit 2, 1 of UCSR0C
	UBRR0L = 51;
	
	sei();

	while (1)
	{

	}
}


// USART0 RX interrupt
ISR(USART0_RX_vect)
{
	char status,data;
	status=UCSR0A;
	data=UDR0;
	
	if ((status & ((1<<FE0) | (1<<UPE0) | (1<<DOR0)))==0)
	{
		while((UCSR0A & (1<< UDRE0)) != (1<< UDRE0));
		UDR0 = data;
	}
}

 

راه-اندازی-uart-وقفه

تصویر 5 – نتیجۀ راه اندازی USART در AVR با فعال کردن وقفۀ دریافت

 

راه اندازی USART در AVR با وقفه، تنظیمات USART در کدویزارد

راه اندازی USART میکروکنترلرهای AVR در نرم افزار کدویژن با استفاده از CodeWizardAVR به راحتی انجام می شود. برای راه اندازی واحد سریال AVR تنظیمات USART در CodeWizardAVR را مطابق تصویر زیر انجام می دهیم. برای پیکربندی USART مثل آنچه در نمونه کد قبل داشتیم، فقط تیک Receiver و Transmitter و Rx Interrupt را فعال می کنیم. می توانیم اندازۀ بافر دریافت را نیز در قسمت Receiver buffer تعیین کنیم. پس از آن، کد را Generate می کنیم. کد تولید شده شامل تابع دریافت و بافر نرم افزاری با در نظر گرفتن شرط هایی برای اندازۀ بافر است. ما اندازۀ بافر را 100 قرار داده ایم. توابع ارسال رشته و کاراکتر را اضافه و قسمت های اضافی کد را نیز پاک کرده ایم.

تنظیمات-uart-کدویزارد

تصویر 6 – تنظیمات واحد USART0 در کدویزارد برای راه اندازی UART در AVR

 

در وقفۀ دریافت مثل نمونه کد قبل عمل کرده ایم. اما در اینجا بایت دریافتی را در بافر قرار داده ایم. شمارندۀ بافر را یک واحد اضافه کرده ایم و  شرط هایی برای متغیرهای مربوط به بافر قرار داده ایم تا در صورت پر شدن بافر، بایت بعدی، در مکان صفرم بافر ذخیره شود (متغیر rx_wr_index0). و همچنین تنها در صورت وجود دادۀ دریافتی، بافر خوانده شود (متغیر rx_counter0). تابع get_char_0 برای خواندن بایت دریافتی است. هر گاه این تابع را اجرا کنیم، یک بایت از بافر در خروجی تابع قرار می گیرد. تابع put_char_0 هم پارامتر ورودی را برای ارسال در رجیستر UDR0 قرار می دهد. تابع put_string_0 نیز کاراکترهای رشتۀ ورودی را به تابع put_char_0 ارسال می کند. در تابع main رشتۀ UBOARD.ir را به همراه Enter ارسال کرده ایم. سپس در حلقۀ while، با تابع get_char_0 کاراکتری را دریافت و آن را با تابع put_char_0 ارسال کرده ایم.

نکته: استفادۀ صحیح از بافر نرم افزاری در پروتکل های ارتباطی، نسبت به چیزی که در این پروژه می بینیم، نیازمند ملاحظات بیشتری است.

#include 

#define DATA_REGISTER_EMPTY (1<<UDRE0)
#define RX_COMPLETE (1<<RXC0)
#define FRAMING_ERROR (1<<FE0)
#define PARITY_ERROR (1<<UPE0)
#define DATA_OVERRUN (1<<DOR0)

// USART0 Receiver buffer
#define RX_BUFFER_SIZE0 100

char rx_buffer0[RX_BUFFER_SIZE0];
unsigned int rx_wr_index0=0,rx_rd_index0=0;
unsigned int rx_counter0=0;

// USART0 Receiver interrupt service routine
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
char status,data;
status=UCSR0A;
data=UDR0;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
   {
       rx_buffer0[rx_wr_index0++]=data;

       if (rx_wr_index0 >= RX_BUFFER_SIZE0)  rx_wr_index0=0;
       if (++rx_counter0 >= RX_BUFFER_SIZE0) rx_counter0=0;
   }
}

char get_char_0(void)
{
    char data;
    while (rx_counter0==0);
    data=rx_buffer0[rx_rd_index0++];
    
    if (rx_rd_index0 >= RX_BUFFER_SIZE0) rx_rd_index0=0;
    
    #asm("cli")
    --rx_counter0;
    #asm("sei")
    return data;
}

void put_char_0(char c)
{
 #asm("cli")
 while ((UCSR0A & DATA_REGISTER_EMPTY)==0);
 UDR0=c;
 #asm("sei")
}

void put_string_0(char *s)
{
 while(*s != 0)
 {
  put_char_0(*s++);
 }
}


void main(void)
{
    char data = 'a';
    
    UCSR0B |= (1<<RXCIE0) | (1<<RXEN0) | (1<<TXEN0);
    UCSR0C |= (1<<UCSZ01) | (1<<UCSZ00);
    UBRR0H=0x00;
    UBRR0L=0x33;

    // Global enable interrupts
    #asm("sei")
    
    put_string_0("UBOARD.ir");
    put_char_0('\n');
    put_char_0('\r');
        
    while (1)
    {
         data = get_char_0();

         if(data != '\0')
         {
              put_char_0(data);
         }
    }
}

 

راه-اندازی-uart-وقفه-کدویزارد

تصویر 7 – نتیجۀ راه اندازی USART در AVR با فعال کردن وقفۀ دریافت در CodeWizardAVR

 

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

  • 1- واحد USART در میکروکنترلرهای AVR ویژگی ها و امکاناتی مثل عملکرد تمام دو طرفه، عملکرد سنکرون و آسنکرون، پشتیبانی از فریم دادۀ 5 تا 9 بیتی، تعداد 1 یا 2 بیت Stop قابل انتخاب، Parity زوج یا فرد، بررسی Parityبه صورت سخت افزاری، آشکارساز Data over run، آشکارساز خطای فریم، وقفه های ارسال و دریافت جداگانه و ... دارد.
  • 2- برای ارتباط سریال AVR با کامپیوتر با رابط USART هم می توان از روش Pollingاستفاده کرد و هم وقفه های USART را به کار گرفت.
  • 3- برای اتصال میکروکنترلر به پورت سریال کامپیوتر، به مبدل های سطح ولتاژ نیاز است.
  • 4- برای اتصال میکروکنترلر به پورت USBکامپیوتر، نیاز به مبدل های USB است.
  • 5- برای تبادل دادۀ بین میکروکنترلر و کامپیوتر، در کامپیوتر نیاز به نرم افزارهای ترمینال پروت سریال است.
  • 6- در ارتباط USART یا UART، باید پایه های RX و TXیک طرف، به ترتیب به پایه های TX و RX طرف دیگر متصل شود.
  • 7- در USART میکروکنترلرهای AVRبرای ارسال باید ابتدا خالی بودن رجیستر ارسال را بررسی کرد، سپس در رجیستر UDR نوشت . در دریافت نیز باید ابتدا وضعیت دریافت شدن بایت خوانده شود، سپس بایت دریافتی را از رجیستر UDR خواند.
  • 8- بررسی خطاهای مربوط به فریم و Parity و Data over run، عملکرد دریافت را بهبود می بخشد.
  • 9- راه اندازی واحد USART در AVR با استفاده از CodeWizardAVR به راحتی انجام می شود.
  • 10 در پروتکل های ارتباطی برای تبادل داده می توان از بافرهای نرم افزاری استفاده کرد. در این صورت تبادل داده مطمئن تر و احتمال از دست رفتن داده ها کمتر و یا حتی صفر می شود.

 

data:image/jpeg;base64,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
رضا اسدی
مدیر یوبرد، طراح و تولید کنندۀ محصولات مبتنی بر میکروکنترلرها، مجری پروژه و مدرس آموزش برنامه نویسی میکروکنترلرها و برد مدار چاپی PCB، فعال در طراحی خودروهای الکتریکی
اگر دیدگاهی دارید میتوانید از طریق فرم زیر دیدگاه خود را در سایت درج کنید.
نویسنده: سینا کرمی تاریخ: ۷ خرداد ۱۴۰۰ ساعت: ۱۱:۰۶:۱۷ ب.ظ
سلام با تشکر بابت آموزش و پاسخ سوال قبلی من یه تایمر یک ثانیه ای تعریف کردم که هر باری که اجرا میشه یه عدد رو از طریق uart ارسال میکنه. برای اینکه از صحت انجام مطمین بشم، یه ال ای دی هم تاگل میشه. برنامه الان درست کار میکنه و هر ثانیه یکبار داده ارسالی رو از طریق برنامه هرکول دریافت میکنم. تصمیم گرفتم که با متلب داده رو دریافت کنم.همه تنظیمات رو داخل متلب انجام دادم. ولی به محض اجرای fopen در متلب، ظاهرا میکرو استاپ میشه چون دیگه ال ای دی تاگل نمیکنه و هیچ داده ای دریافت نمیشه. هر وقت که fclose رو اجرا میکنم، میکرو نرمال میشه. به نظرتون مشکل چیه؟ device = serial('COM3'); set(device,'BaudRate',9600); set(device,'DataBits',8); set(device,'Stopbits',1); set(device,'Parity','none'); set(device,'Terminator','') fopen(device)
نویسنده: رضا بداغی تاریخ: ۱۱ خرداد ۱۴۰۰ ساعت: ۰۹:۴۷:۲۴ ب.ظ

فیوزبیت ها از این جهت میتونه تاثیر بذاره که مثلا شما توی نرم افزار فرکانس کاری میکروکنترلر رو 8 مگاهرتز قرار دادید، اما فیوزبیت ها روی مثلا 1 مگاهرتز داخلی تنظیم شدن. دقت کنید که پروگرمر روی این برد USBasp هستش و برای انتخاب منبع کلاک خارجی، یعنی کریستال خارجی، با تنظیم فیوزبیت ها دچار مشکل میشید. البته روش هایی رو توی نوشتۀ «پروگرامر برد توسعه ATmega64Pin یوبرد» برای این کار ذکر کردیم. 

شما توی نرم افزار ProgISP فیوزبیت ها رو بخونید و ببینید که فرکانس کلاک که توسط فیوزبیت ها تعیین شده با چیزی که توی نرم افزار انتخاب کردید یکسان هست یا نه. فقط مواظب باشید کلاک خارجی رو توی فیوزبیت ها انتخاب نکنید. چون بعد از اون دیگه برد به روش معمول پروگرم نمیشه

نکتۀ دیگه این که از جامپرهایی که به هدر نری روی برد متصل می کنید مطمئن بشید ببنید که اتصالات صحیح هست. باید پایه های 1 و 2 به هم و 3 و 4 به هم متصل بشن. مطابق مطالب دفترچۀ راهنما بخش سلکتورهای UART_S.

خواهش میکنم. زنده باشید

نویسنده: سینا کرمی تاریخ: ۸ خرداد ۱۴۰۰ ساعت: ۱۲:۰۰:۳۳ ب.ظ
من برد atmega64 شما رو تهیه کردم و استفاده میکنم. برای مبدل هم همون cp2102 برد رو استفاده میکنم. فیوز بیت ها چجوری میتونه تاثیر بزاره؟ تشکر فراوان بابت زمانی که برای پاسخ اختصاص دادین جناب مهندس
نویسنده: رضا بداغی تاریخ: ۸ خرداد ۱۴۰۰ ساعت: ۰۹:۱۶:۱۳ ق.ظ

سلام. خواهش میکنم. نظر بنده اینه که توی پروتئوس تست کنید. اگه توی پروتئوس جواب گرفتید، برنامه ای که نوشتید درسته. شاید مشکل از سخت افزار باشه. حالا نمیدونم از چه مبدل USB به سریال یا مبدل COM به TTLی استفاده می کنید. اما توصیه میکنم از CP2102 استفاده کنید. همچنین با پورت های دیگۀ کامپیوتر هم تست کنید. این که قبلاً توی هرکولس داده ای دریافت می کردید نشون میده ارسالتون انجام میشده. راه ساده تر استفاده از همون هرکولسه. اگه مطابق نمونه کد این نوشته پیش رفتید تنها مشکل دیگه ای که به ذهنم میرسه اینه که تنظیمات فیوزبیت رو ممکنه اشتباه انجام داده باشید. موقع پروگرم کردن فیوزبیتها رو صحیح مقدار بدید.

نویسنده: سینا کرمی تاریخ: ۲۹ اردیبهشت ۱۴۰۰ ساعت: ۱۰:۵۸:۱۶ ب.ظ
با سلام ممنون از آموزش بسیار خوبتون. من تمام کارها رو مانند مثال انجام دادم و روی برد دانلود کردم. ولی وقتی که میکرو یه کاراکتری مانند C رو ارسال میکنه، توی برنامه هرکول 'e نمایش داده میشه. برنامه توی پروتئوس درست کار میکنه ولی در عمل نه. ممنون میشم راهنمایی کنید. با تشکر فراوان
نویسنده: رضا بداغی تاریخ: ۱ خرداد ۱۴۰۰ ساعت: ۰۸:۴۱:۱۷ ب.ظ

سلام. خیلی ممنون. از صحیح انتخاب کردن Baud rate مطمئن بشید. همچنین توی کنترل پنل، تنظیمات پورت COM، باود ریت رو روی 115200 تنظیم کنید. دربارۀ Hercules توی وبلاگ مطلب داریم. اونا رو هم مطالعه کنید شاید تنظیماتی رو به اشتباه تغییر داده باشید. تنظیمات مربوط به Hercules. موفق باشید.

نویسنده: Sajjad najafi تاریخ: ۲۱ اردیبهشت ۱۴۰۰ ساعت: ۰۲:۴۴:۲۵ ب.ظ
سلام،من تازه کار هستم ولی اطلاعاتی که گذاشتید فوق العاده مفید بود.بسیار ممنون از زحمات شما بزرگوار
نویسنده: رضا بداغی تاریخ: ۲۳ اردیبهشت ۱۴۰۰ ساعت: ۰۳:۴۱:۰۶ ب.ظ

سلام. خیلی ممنون از نظرتون. خواهش میکنم. موفق باشید

نویسنده: حسین تاریخ: ۴ اسفند ۱۳۹۹ ساعت: ۱۱:۳۲:۰۶ ب.ظ
سلام. مهندس آبرومو خریدی فقط خدا هرچی نیت قلبی داری بخاطر این که دست منو گرفتی کمکت کنه. یک دنیا ممنون ارزش این کارتون خیلی بیشتر از یه تشکر حداقل برای من. گیر کرده بودم توی فیوز بیت ها که با کمک نمونه ای که گذاشته بودین رفع شد
نویسنده: رضا بداغی تاریخ: ۹ اسفند ۱۳۹۹ ساعت: ۱۰:۴۳:۰۷ ب.ظ

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

نویسنده: jamalmusic تاریخ: ۹ بهمن ۱۳۹۹ ساعت: ۰۴:۱۸:۰۸ ق.ظ
با درود فراوان خدمت استاد بزرگوار بسیار بسیار ممنون و تشکر از زحمات فراوان شما .توضیح و تشریح کاربردی بود. این شیوه اموزش بسیار کارامد هست.
نویسنده: رضا بداغی تاریخ: ۱۳ بهمن ۱۳۹۹ ساعت: ۰۹:۱۵:۲۷ ب.ظ

سلام دوست عزیز. خواهش میکنم. شما لطف دارید. ممنون از نظرتون

نویسنده: هستی تاریخ: ۲۷ خرداد ۱۳۹۹ ساعت: ۱۱:۴۱:۵۱ ب.ظ
سلام. ممنون از پست خوبتون. برای ارسال و دریافت با usart با بافر نرم افزاری هم مطلب بذارید ممنون
نویسنده: رضا بداغی تاریخ: ۲۹ خرداد ۱۳۹۹ ساعت: ۱۱:۵۸:۳۲ ب.ظ

سلام. خواهش میکنم. بافر مطلب مهمیه. حتماً در آینده پروژه های USART با بافر نرم افزاری هم توضیح میدیم.

فرم پاسخ به دیدگاه