Witam grupowiczow. Trenuje wlasnie C pod AVR, konkretnie atmega8. Staram sie napisac program wysylajacy lancuch znakow przez RSa. Oto co udalo mi sie napisac:
char napis[14] = "Cos Cos Cos!"; void String2RS(char *str); void Char2RS(char Znak); int main(void) { UBRRH =0; //ustawianie predkosci UBRRL= 12; UCSRC = 0x86; UCSRB = 1<<TXEN; for(;;) { String2RS(napis); _delay_loop_2(Licznik); // petla opozniajaca _delay_loop_2(Licznik); _delay_loop_2(Licznik); _delay_loop_2(Licznik); } return 0; } void String2RS(char *str) { int n = 0; while (str[n]) { Char2RS(str[n]); n++; } } void Char2RS(char Znak) { UDR = Znak; while (!(UCSRA & 1<<TXC)) {} // czekanie na koniec transmisji }
Wynik dzialania tego programu jest taki ze wysyla jedynie dwa pierwsze znaki lancucha 'znaki'. Pytanie moje takie - co ja robie nie tak.
Pozdrawiam Tomek