Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 19:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 15 kwi 2017, o 13:31 
Offline
Użytkownik

Dołączył(a): 25 mar 2014
Posty: 84
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2017, o 14:10 
Offline
Użytkownik

Dołączył(a): 19 paź 2014
Posty: 357
Lokalizacja: stolyca pyrlandii :)
Pomógł: 18

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 postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2017, o 15:05 
Offline
Użytkownik

Dołączył(a): 25 mar 2014
Posty: 84
Pomógł: 0

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 ).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2017, o 15:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2017, o 15:11 
Offline
Użytkownik

Dołączył(a): 19 paź 2014
Posty: 357
Lokalizacja: stolyca pyrlandii :)
Pomógł: 18

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...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2017, o 15:24 
Offline
Użytkownik

Dołączył(a): 25 mar 2014
Posty: 84
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2017, o 21:51 
Offline
Użytkownik

Dołączył(a): 25 mar 2014
Posty: 84
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO