Cześć! Aktualnie pracuję nad zegarkiem na rękę z wyświetlaczem OLED 0,96 cala, komunikacja SPI. Przy pomocy programu PixelFactor na licencji z greenbooka stworzyłem sobie dwie bitmapy, prezentujące dwie wersje tego samego logo. Wyświetlanie owych bitmap uwarunkowałem poprzez wciśnięcie przycisków. W tym momencie pojawił mi się pewien problem... Całą bibliotekę tworzę razem z Panem Mirkiem na podstawie jego filmików o SSD1306, więc wykorzystuję funkcję zawarte w jego filmach. W momencie wywołania bitmapy, wyświetla się ona na OLEDZIE, jednak jej współrzędne tak jakby zostają przesunięte. Z tego powodu każdorazowa zmiana bitmapy powoduję, że wyświetla się ona przesunięta o daną ilość miejsc. Analizowałem kod i nie mogę znaleźć miejsca, w którym mógłbym naprawić to przesunięcie... Wstawiam kod programu oraz zdjęcia prezentujące pracę układu. Dodam, że wgranie takiej samej bitmapy kilka razy z rzędu również przesuwa współrzędne. Proszę o pomoc.
Plik main.c:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Funkcję do obsługi wyświetlacza:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Funkcję wykorzystywane w SuperDebounce i init_key();
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.