Próbuję okiełznać to maleństwo i niestety się zaciąłem.
Inicjalizacja raczej prawidłowa. Jest ładny szum.
Po wyświetleniu pustego bufora, zostaje mały fragment nieodszumiony:

Jeśli w buforze jest np. przykładowy obrazek z "equalizerem atnel", to przy pierwszym uruchomieniu zaszumiony jest ten sam fragment, ale po resecie procesora obraz przesuwa się losowo w pionie. X0, Y0 nie są w górnym lewym rogu.
Podobnie przy rysowaniu linii jak w załączonym filmiku.
Podczas rysowania widać fruwające bity w "zaszumionym" fragmencie.
Co skleciłem:
I2C_TWI.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I2C_TWI.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
ssd1306.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
ssd1306.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
oled_test.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Działam na płytce zl2avr i AtMega 168. Wyświetlacz od "naszego" Mirka.
pzdr