Jako RTC użyłem modułu takiego jak na zdjęciu z układem DS1307. W pierwszej wersji działał tylko na wyświetlaczu LCD z biblioteką Mirka. Biblioteka I2C też ściągnąłem od Mirka tylko dostosowałem do DS1307. Dołożyłem do tego wyświetlacz LED (ze wspólną anodą). Obsługę wyświetlacza LED napisałem całkiem sam, po tym jak poczytałam BB i trochę w necie. Do puki nie było wyświetlacza LED i kodu z nim związanego zegar działał jak należy. Po tym jak dodałem LED zegar działa przez kilka, kilkanaście, kilkadziesiąt sekund, czasami kilka minut, różnie i się zatrzymuje, obydwa wyświetlacze pokazują ten sam czas. Po usunięcie z pliku main.c funkcji led_init zegar działa poprawnie, wyświetlacz LED oczywiście nic nie pokazuje. Dodaję kod programu w wersji w której LCD pokazuje datę i godzinę na wyświetlaczu LED zwiększa się liczba od 0 do 9999, następnie liczba się zeruje i tak w kółko powinno być. Efekt zatrzymywania zegarka jest taki sam jak wtedy gdy na wyświetlaczu LED była godzina. Proszę naprowadźcie mnie gdzie zrobiłem błąd.

main.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
multipleks.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
multipleks.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i2c.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i2c.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.