Miał Mirek rację, że będę chciał coraz więcej i więcej.
Zdecydowałem się na obsługę swojego zegara pilotem RC5.
O dziwo obsługa pilota pięknie się "przyjęła" w moim programie, przy pomocy przycisków zmieniam na razie wartość zmiennej odpowiadającej za wyświetlanie godziny i temperatury. Wszystko działa natychmiastowo, bez żadnych opóźnień, jestem bardzo pozytywnie zaskoczony.
Ale zrodziło się następne pytanie, bo chciałem wykorzystać jeden przycisk, do wejścia w menu, gdzie będę mógł ustawić godzinę i zapisać do PCFa.
W funkcję MAIN wpisałem to tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Pierwsze dwa warunki działają, ale jak widzicie, ostatni warunek wywołuje funkcję o nazwie menu1 do której nic nie wysyłam, i która nic nie zwraca. W tej funkcji chcę na początku ustawić dolne segmenty wszystkich wyświetlaczy a potem wpisać cyframi godzinę i minuty a przy wyjściu wysłać to poleceniem TWI_write_buf (PCF8583_ADDR,0x01,4,bufor); do PCFa.
Jednak przy naciśnięciu przycisku na pilocie funkcja nie zostaje wywołana Sama funkcja wygląda tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
znajduje się w pliku menu.c, zadeklarowana jest w pliku menu.h
plik menu.h zainkludowany jest w pliku main.c.
Według mojego przekonania, po naciśnięciu przycisku o adresie "24" (samo wywołanie innego działania przyciskiem 24 działa) powinna zostać wywołana funkcja menu1 i powinna wejść w nieskończoną pętlę while(1). Jednak tak się nie dzieje. Próbowałem ustawić jakąś pułapkę - działanie i wychodzi na to, że funkcja nie jest wywoływana. Jestem przekonany, że jest to znów jakaś moja nieuwaga, czytałem rozdział FUNKCJE*** w niebieskiej książce, nie natrafiłem na wskazówkę, może to chwilowe zamroczenie i późna godzina.... dla tego proszę spójrzcie fachowym okiem na te krótkie kody.