Witam,
opracowana została prosta ramka przesyłania danych w oparciu o przerwanie USART_RXC_vect. Wysłanie bajtu 255 z aplikacji informuje mikrokontroler że zaraz otrzyma 5 znaków ASCII które ma załadować do tablicy charów a bajt 254 kończy wpisywanie do tablicy. Tablicę ze znakami wyświetlam na wyświetlaczu LED. LEcz np. wysyłam "186A0" a na wyświetlaczu mam #186A. Jak już sprawdziłem jeśli bajtem startu będzie 65 czyli A, to wyświetlacz pokaże "A186A" - wniosek: UDR się nie czyści.
Mógłby mi ktoś powiedzieć jak to poprawić i czy da się w C$ czy trzeba sprzętowo,
Poniżej funkcja z C# i obsługa przerwania.
opracowana została prosta ramka przesyłania danych w oparciu o przerwanie USART_RXC_vect. Wysłanie bajtu 255 z aplikacji informuje mikrokontroler że zaraz otrzyma 5 znaków ASCII które ma załadować do tablicy charów a bajt 254 kończy wpisywanie do tablicy. Tablicę ze znakami wyświetlam na wyświetlaczu LED. LEcz np. wysyłam "186A0" a na wyświetlaczu mam #186A. Jak już sprawdziłem jeśli bajtem startu będzie 65 czyli A, to wyświetlacz pokaże "A186A" - wniosek: UDR się nie czyści.
Mógłby mi ktoś powiedzieć jak to poprawić i czy da się w C$ czy trzeba sprzętowo,
Poniżej funkcja z C# i obsługa przerwania.
Kod: C#
Kod: C / C++