سلام دوستان
من دو تا میکرو atmega16 رو می خوام بهم وصل کنم از طریق Rx Tx ، همه چیز به ظاهر درسته ولی 10 تا کاراکتر اول رو می فرسته، در صورتی که من می خوام از 10 تا بیشتر تا 40 تا رو بفرسته
کارم برای اینه که می خوام 40 کاراکتر که از میکرو دوم رو میاد با دستور for استفاده کنم ولی سر اولش گیر کردم.
برنامه فرستنده:
برنامه گیرنده:
در میکرو گیرنده اگر حتی []a از نوع کاراکتر هم تعریف کنم و lcd-puts(a) هم قرار بدم باز هم همون 10 کاراکتر میاد.
ممنون میشم کمک کنید.[/img]
من دو تا میکرو atmega16 رو می خوام بهم وصل کنم از طریق Rx Tx ، همه چیز به ظاهر درسته ولی 10 تا کاراکتر اول رو می فرسته، در صورتی که من می خوام از 10 تا بیشتر تا 40 تا رو بفرسته
کارم برای اینه که می خوام 40 کاراکتر که از میکرو دوم رو میاد با دستور for استفاده کنم ولی سر اولش گیر کردم.
برنامه فرستنده:
کد:
#include <mega16.h> #include <delay.h> #include <stdio.h> #define xtal 8000000 void main(void) { UCSRA=0x00; UCSRB=0x08; // USART Transmitter: On UCSRC=0x86; //8 Data, 1 Stop, No Parity UBRRH=0x00; UBRRL=0x33; // USART Baud rate: 9600 delay_ms(1000); printf("Hello World !!!"); while (1); }
کد:
#include <mega16.h> #include <stdio.h> #include <lcd.h> #define xtal 8000000 #asm .equ __lcd_port=0x1B ;PORTA #endasm void main(void) { UCSRA=0x00; UCSRB=0x10; // USART Receiver: On UCSRC=0x86; //8 Data, 1 Stop, No Parity UBRRH=0x00; UBRRL=0x33; // USART Baud rate: 9600 lcd_init(16); lcd_clear(); while(1); }
ممنون میشم کمک کنید.[/img]
دیدگاه