Witam, probuje wyslac doslownie cokolwiek po RS'ie przy pomocy tego procka (clk
8MHz) Inicjuje wiec UART w ten sposob: void initusart(void) { /* Set baud rate */ UBRRL = 0x0c; //set baud rate lo - 12 czyli dla 8 MHz wychodzi predkosc
38,4kbps UBRRH = 0x00; //set baud rate hi /* Enable Receiver and Transmitter */ UCSRB = (1<<RXEN) | (1<<TXEN); /* Set frame format: 8data, 1stop bit */ UCSRC = (1<<URSEL) | (1<<UCSZ1) | (1<<UCSZ0); }
fragment maina w ktorym wysylam jeden znak wyglada nastepujaco:
int main(void) { ....................... initusart(); sei(); UCSRB=1<<RXCIE|1<<TXCIE; for(i=1;i<5;i++) { while ( !( UCSRA & (1<<UDRE)) ); //tutaj czekam az UDR sie zwolni UDR=0x33; //jakis byle jaki znak } } Niestety hyper terminal nie odbiera absolutnie nic ani mru mru. Kabel jest na pewno dobry bo dziala wysylanie przy AT2313. Czy widzicie jakis oczywisty blad ktory robie? Czy moze to wina sprzetu?Padniety MAX232 albo cus? Pozdrawiam Mesayah