با سلام
یه برنامه ناشیانه read & write نوشتم که مشکل داره مشکل اینجاست که اگه اون تابع send data رو پاک کنم برنامه خوندن از سریال درست کار میکنه اما وقتی این تابع که بیاد تو کار نه خوندن داریم نه نوشتن.هدف ارتباط با پورت سریال هست
با تشکر از دوستان
یا مثلا این یکی وقتی printf رو اضافه کنم دریافت دیگه کار نمیکنه
یه برنامه ناشیانه read & write نوشتم که مشکل داره مشکل اینجاست که اگه اون تابع send data رو پاک کنم برنامه خوندن از سریال درست کار میکنه اما وقتی این تابع که بیاد تو کار نه خوندن داریم نه نوشتن.هدف ارتباط با پورت سریال هست
با تشکر از دوستان

کد:
#include <mega8.h> #include <stdio.h> #include <delay.h> #include <alcd.h> #include <ctype.h> volatile char data,get; volatile unsigned char v1=19; interrupt [USART_RXC] void USART_RX_Complete(void) { data=UDR; get=toascii(data); if(get==8) { lcd_clear(); } lcd_putchar(data); } void Send_Data(unsigned char data8) { while(!(UCSRA & (1<<TXC))); UDR=data8; } void main(void) { UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x67; delay_ms(1000); Send_Data(v1); #asm("sei"); lcd_init(16); while (1) { } }
یا مثلا این یکی وقتی printf رو اضافه کنم دریافت دیگه کار نمیکنه

کد:
#include <mega8.h> #include <stdio.h> #include <delay.h> #include <alcd.h> #include <ctype.h> volatile char data,get; volatile unsigned char v1=19; interrupt [USART_RXC] void USART_RX_Complete(void) { data=UDR; get=toascii(data); if(get==8) { lcd_clear(); } lcd_putchar(data); } void main(void) { UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x67; delay_ms(1000); printf("sadeq"); #asm("sei"); lcd_init(16); while (1) { } }
دیدگاه