Ahoj,
Mám Atmega8 s externým 16Mhz krystálom. K nemu mám OLED 1.3 mono display pripojený cez I2c (SDA,SDL).
Oled má 4 piny, VCC,GND, SDL a SDA.
SDA a SDL má ešte externé rezistory 2k2 pripojené na 5V.
I2c komunikácie mi beží v poriadku, problém však je s vykreslovaním. Nedarí sa mi urobiť clear screen.
Mám nastavení Horizontal address mode:
ldi r16,SET_MEMORY_ADDR_MODE ; Command 20h
rcall i2c_write_byte
ldi r16,HORIZONTAL_ADDRESSING_MODE ; and Set Horizonatl -> 00h
rcall i2c_write_byte
Nastavené začiatok a koniec obrazovky:
ldi r16,SET_COLUMN_ADDRESS ; Set Working Area
rcall i2c_write_byte
ldi r16,0 ; Columns 0 - 127
rcall i2c_write_byte
ldi r16,127
rcall i2c_write_byte
ldi r16,SET_PAGE_ADDRESS
rcall i2c_write_byte
ldi r16,0 ; Rows (Pages) 0 - 7
rcall i2c_write_byte
ldi r16,7
rcall i2c_write_byte
potom posielam dáta “0” ale nikdy mi to nezmaže celú obrazovku, tak max. jednu PAGE0.
Neviete my s tímto poradiť?