ATNEL tech-forum
https://forum.atnel.pl/

LCD I2C problem z UART
https://forum.atnel.pl/topic18169.html
Strona 1 z 1

Autor:  acid255 [ 15 kwi 2017, o 13:31 ]
Tytuł:  LCD I2C problem z UART

Czy ktoś spotkał się z problemem przy wykorzystaniu LCD na I2C ( pcf8574A ), że w momencie zastosowania lcd_init(); przestaje działać procesor - zawiesza się jak LCD nie jest podpięte.

Autor:  karolen [ 15 kwi 2017, o 14:10 ]
Tytuł:  Re: LCD I2C problem z UART

A wykorzystujesz pin "RW" od wyświetlacza ?
Bo jeśli tak, to bym się nie dziwił, że Ci się "zawiesza" - a tak dokładniej oczekuje na odpowiedź od LCD żeby iść dalej.

Autor:  acid255 [ 15 kwi 2017, o 15:05 ]
Tytuł:  Re: LCD I2C problem z UART

Fakt to może być przez linie RW. Mam takie chińskie I2C -> LCD i tam musi być użyte RW = 1.
A proszę mi powiedzieć co może być przyczyną, że co nie wyślę na UART to po enterze resetuje mi się procek?
Korzystam z bootloadera i chcę użyć watchdoga do resetu wg funkcji p. Mirka, ustawiłem pułapkę programową w funkcji parse_uart_data ( przed funkcją resetującą ) i wygląda na to, że procesor nie wskakuje w ogóle do obsługi tej funkcji. Co dziwne reset spowodowany enterem wysłanym na UART nie uruchamia wgrywania softu z bootloadera ( muszę ręcznie wcisnąć reset ).

Autor:  avrfun [ 15 kwi 2017, o 15:08 ]
Tytuł:  Re: LCD I2C problem z UART

acid255 napisał(a):
Czy ktoś spotkał się z problemem przy wykorzystaniu LCD na I2C ( pcf8574A ), że w momencie zastosowania lcd_init(); przestaje działać procesor - zawiesza się jak LCD nie jest podpięte.

Stan magistrali I2C jest przez cały czas monitorowany. Jeżeli jest zadeklarowane na niej programowo urządzenie np. LCD lub BMP180, to gdy go fizycznie nie ma, następuje zawieszenie działania programu. Przerabiałem to w konfiguracji j.w. LCD + BMP180.

Autor:  karolen [ 15 kwi 2017, o 15:11 ]
Tytuł:  Re: LCD I2C problem z UART

Ale ty chyba mylisz reset sprzętowy z programowym.
Watchdoga nie używałem jeszcze (nie było mi to potrzebne) tak więc w tej kwestii Ci nie pomogę niestety.
Korzystasz z bootloadera, a czy jest on również w uC ?
Poza tym procka masz na jakiejś płytce drukowanej, na stykówce czy może w wersji pająkowej ??
Opisz układ bo tak na chwilę obecną to nie ma jak pomóc...

Autor:  acid255 [ 15 kwi 2017, o 15:24 ]
Tytuł:  Re: LCD I2C problem z UART

Cytuj:
Ale ty chyba mylisz reset sprzętowy z programowym.


Nie mylę. Właśnie o to chodzi, że chcę użyć:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

w funkcji parse_uart_data i to mi dotychczas działało ale chyba coś z fusami pomieszałem bo przestało działać. Bootloader ładuje program po sprzętowym resecie - TYLKO. Ten reset który pojawia się po wysłaniu na UARTa entera nie powoduje wgrywania softu bo jakby bootlader nie reaguje ( na terminalu nie pojawiają się ?????).
Wrzucę na wszelki wypadek screeny z ustawień fusów i BLSa.

ObrazekObrazek


Pracuję na płytce testowej z Atmegą 32.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


każdy enter wyświetla na terminalu: ******* ATNEL - AT tester - restart *********** czyli procek się resetuje i w dodatku bootloader po takim resecie milczy.

Autor:  acid255 [ 17 kwi 2017, o 21:51 ]
Tytuł:  Re: LCD I2C problem z UART

Najdziwniejsze jest to, że jak miałem te funkcje do obsługi UARTA i inne w oddzielnym plikach to miałem problem z resetem po wysyłaniu na RSa entera, ale jak zebrałem wszystko do pliku main.c to problem zniknął - o co chodzi - nie mam pojęcia.
Mam teraz takiego tasiemca w jednym pliku ale przynajmniej wszystko mi działa jak należy.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/