To znaczy mam dwa sposoby odbierania w zależności jak skompiluje. Mogę odbierać za pomocą przerwania lub cały czas nasłuchując.
Terminator napisał: (1<<RXCIE)
To mam w funkcji USART_Init
Terminator napisał: sei();
To mam w funkcji odbior_z_przerwaniem
A resztę posta muszę przetrawić
Dobra zacząłem coś odbierać tylko, że to co ja odbieram ma się ni jak do tego co wysyłam. Jak wysyłam co chwile ten sam znak to raz jest coś raz jest coś innego, potem z powrotem to za pierwszym razem. Jak wysyłam inny znak to zdarza się że otrzymuje te same wartości w hex co poprzedni znak. I też się zdarza, że po wysłaniu jednego znaku otrzymuje dwa hexy. I też się zdarza, że po wielokrotnym wysyłaniu nic nie otrzymuje.
ciągle wysyłałem znak
z
\0x00\0x00\0x80\0xbd\0x00\0x00\0x00\0x00\0xbd\0x80\0x00\0x00\0x00\0x8f\0x00\0x00\0x8f\0x00\0x8f\0xbd\0x00\0x80\0x00\0xbd\0x00\0x00\0xbd\0x00
ciągle wysyłałem znak
y
\0x00\0x00\0xfd\0x8f\0x00\0x00\0x80\0x80\0x00\0xe0\0x00\0xfd\0xfd\0x80\0x00\0x80\0xfd\0x00\0x00\0x80\0x80\0x80\0x80\0x80\0x8f\0x80\0x00\0x00
ciągle wysyłałem znak
p
\0x00\0x00\0x80\0x00\0x0f\0x00\0x0f\0x0f\0x00\0x00\0x80\0x00\0x0f\0x00\0x00\0x0f\0x00\0x00\0x00
Dobra poprawka. Teraz odbieram. Miałem złe ustawienia w programie CuteCom (hardware i software, trzeba było od kliknąć)
Tylko, że pojawiają się przekłamania, jak wysyłam przez CuteCom litery. Raz wyśle dobrze raz jest błąd. Ale jak wysyłam hexy to na razie nie zauważyłem problemu.
Problem pojawia się gdy wysyłam np:
0x7896 otrzymuje fb 96
0xff00ff00ff00 otrzymuje ff 01 ff 00 ff 00