Witam !
Od dłuższego czasu borykam się z obsługą odczytu flagi zajętości w moim lcd (sterownik WC1602A). Atmega pracuje z f=1MHz. Otóż gdy czasy opóźnień są ustawione na "sztywno" wyświetlacz działa i wyświetla poprawnie. Natomiast gdy próbuję dodać obsługę odczytu flagi zajętości wyświetlacz nic nie wyświetla. Żadnych kwadratów, jest po prostu podświetlony. Wnioskuje z tego,że procedura inicjalizacji przebiega poprawnie a problem tkwi gdzieś w funkcji zapisu danych.
Poniżej zamieszczam kod i proszę o jakieś wskazówki
Funkcje obsługujące LCD i flagę starałem pisać się samodzielnie na ile to możliwe, może trzeba było skorzystać z gotowych.
W ogóle zauważyłem,że ten typ sterownika sprawia więcej problemów niż oryginalny. Na przykład ma czasami problemy z wyświetlaniem wyników obliczeń/zmiennych w pętlach. Wyświetlacz po prostu zawiesza się i program nie wykonuje się dalej. Jestem dopiero początkujący i nie mam pojęcia czym to może być spowodowane.
Będę wdzięczny za wszelkie wskazówki.
Od dłuższego czasu borykam się z obsługą odczytu flagi zajętości w moim lcd (sterownik WC1602A). Atmega pracuje z f=1MHz. Otóż gdy czasy opóźnień są ustawione na "sztywno" wyświetlacz działa i wyświetla poprawnie. Natomiast gdy próbuję dodać obsługę odczytu flagi zajętości wyświetlacz nic nie wyświetla. Żadnych kwadratów, jest po prostu podświetlony. Wnioskuje z tego,że procedura inicjalizacji przebiega poprawnie a problem tkwi gdzieś w funkcji zapisu danych.
Poniżej zamieszczam kod i proszę o jakieś wskazówki
Kod: C / C++
Funkcje obsługujące LCD i flagę starałem pisać się samodzielnie na ile to możliwe, może trzeba było skorzystać z gotowych.
W ogóle zauważyłem,że ten typ sterownika sprawia więcej problemów niż oryginalny. Na przykład ma czasami problemy z wyświetlaniem wyników obliczeń/zmiennych w pętlach. Wyświetlacz po prostu zawiesza się i program nie wykonuje się dalej. Jestem dopiero początkujący i nie mam pojęcia czym to może być spowodowane.
Będę wdzięczny za wszelkie wskazówki.