Witam.
Tworzę projekt oparty na mikrokontrolerze ATTINY414. Powstaje on w środowisku Microchip (Atmel) Studio.
Program ma wyświetlać aktualną temperaturę z czujnika oraz średnią kroczącą temperatury z ostatnich 24 godzin. Dane chciałbym wyświetlić na małym wyświetlaczu OLED, 128 x 32, sterownik SSD1306 (komunikacja przy pomocy I2C).
Mikrokontroler ma 4kB FLASH i 256B SRAM, więc muszę zrezygnować ze stosowania wewnętrznego bufora w pamięci SRAM mikrokontrolera. Wystarczy mi też samo wyświetlanie tekstu (i ewentualnie prostych linii oddzielających tekst / symbolu baterii lub termometru).
Większość kodów znalezionych w Internecie do obsługi SSD1306 jest niestety na Arduino. Ale znalazłem też coś w C, po czym to przerobiłem, aby pasowało pod nową rodzinę uC ATTINY (dodałem swoją obsługę I2C na bazie wygenerowanego w https://start.atmel.com/ kodu). Niestety program nie działa i nie wiem, dlaczego...
A tak to wszystko wygląda:
Kod obsługi wyświetlacza:
Definicje:
Obsługa I2C:
Kod nie działa - wyświetlacz pozostaje czarny. Co może być nie tak?
Stosowany wyświetlacz to dokładnie ten model: https://botland.com.pl/wyswietlacze-raspberry...-nakladka-dla-raspberry-pi-adafruit-3527.html
Tworzę projekt oparty na mikrokontrolerze ATTINY414. Powstaje on w środowisku Microchip (Atmel) Studio.
Program ma wyświetlać aktualną temperaturę z czujnika oraz średnią kroczącą temperatury z ostatnich 24 godzin. Dane chciałbym wyświetlić na małym wyświetlaczu OLED, 128 x 32, sterownik SSD1306 (komunikacja przy pomocy I2C).
Mikrokontroler ma 4kB FLASH i 256B SRAM, więc muszę zrezygnować ze stosowania wewnętrznego bufora w pamięci SRAM mikrokontrolera. Wystarczy mi też samo wyświetlanie tekstu (i ewentualnie prostych linii oddzielających tekst / symbolu baterii lub termometru).
Większość kodów znalezionych w Internecie do obsługi SSD1306 jest niestety na Arduino. Ale znalazłem też coś w C, po czym to przerobiłem, aby pasowało pod nową rodzinę uC ATTINY (dodałem swoją obsługę I2C na bazie wygenerowanego w https://start.atmel.com/ kodu). Niestety program nie działa i nie wiem, dlaczego...
A tak to wszystko wygląda:
Kod obsługi wyświetlacza:
Kod: C / C++
Definicje:
Kod: C / C++
Obsługa I2C:
Kod: C / C++
Kod nie działa - wyświetlacz pozostaje czarny. Co może być nie tak?
Stosowany wyświetlacz to dokładnie ten model: https://botland.com.pl/wyswietlacze-raspberry...-nakladka-dla-raspberry-pi-adafruit-3527.html
