Witam,
Mam potencjalnie banalny problem z odczytem stringa z przerwania UART w pętli głównej programu. Kiedy przesyłam przez UART ciąg znaków są one odbierane, jednak przy próbie wyświetlenia ich na wyświetlaczu którego obsługa znajduje się w pętli głównej programu zamiast przesłanego stringu widzę losowe śmieci z pamięci (np. fragmenty danych poprzednio wysłanych na wyświetlacz). Obsługa wyświetlacza nie jest tutaj problemem, bo tą część już sprawdziłem. Procedura obsługi przerwania której używam wygląda następująco:
funkcja callbackowa print jest zdefiniowana w main.c jako:
zmienna bt_buffer w main.c ma następującą deklarację:
natomiast zmienna używana w przerwaniu od uart jest zadelarowana następująco:
Obsługa uart jest wyniesiona do osobnych plików (uart.c i uart.h) co sprawia, że mając bufor w przerwaniu jako static nie mogę go zadeklarować jako extern w main.c.
Czy ktoś wie jak dane zapisane w UART_RxBuf przenieść do pętli głównej programu tak, aby przy okazji nie przejechać się po pamięci MCU?
Pozdrawiam,
Mam potencjalnie banalny problem z odczytem stringa z przerwania UART w pętli głównej programu. Kiedy przesyłam przez UART ciąg znaków są one odbierane, jednak przy próbie wyświetlenia ich na wyświetlaczu którego obsługa znajduje się w pętli głównej programu zamiast przesłanego stringu widzę losowe śmieci z pamięci (np. fragmenty danych poprzednio wysłanych na wyświetlacz). Obsługa wyświetlacza nie jest tutaj problemem, bo tą część już sprawdziłem. Procedura obsługi przerwania której używam wygląda następująco:
Kod: C / C++
funkcja callbackowa print jest zdefiniowana w main.c jako:
Kod: C / C++
zmienna bt_buffer w main.c ma następującą deklarację:
Kod: C / C++
natomiast zmienna używana w przerwaniu od uart jest zadelarowana następująco:
Kod: C / C++
Obsługa uart jest wyniesiona do osobnych plików (uart.c i uart.h) co sprawia, że mając bufor w przerwaniu jako static nie mogę go zadeklarować jako extern w main.c.
Czy ktoś wie jak dane zapisane w UART_RxBuf przenieść do pętli głównej programu tak, aby przy okazji nie przejechać się po pamięci MCU?
Pozdrawiam,
