Graham1359
New Member
I have the OLED device and my own 20x2 driver but have been trying to make the Busy flag work, I have a R/W line on C.4 and tried the following types of cold. The problem it seems to do few byte than freezes in a busy state. I did have a outside loop to exit but very slow timeout. The device is in 4 bit mode, If busy B7 should be set to high when Read mode, R/W=1
dirsB = %00000000 'only b.0 to b.3 to OLED
Port=$FF 'just not zero at start
Low RS 'command mode
High RnW 'read mode
do while Port<>0
High E 'enabled LCD/OLED
pulsOut E,1
Port=Pinb.3 'read LSB b3-b0
Port=Port << 4 'shift nibble to higher nibble
PulsOut E,1
Port=Pinb.3 'read MSB b7-b4
Low E
sertxd(#Port) 'I just see 1 or 16 and some zeros when not in a do loop just run once
loop
Low RnW 'write mode
High RS
Low E
dirsB = %00001111 'only b.0 to b.3 to OLED
I tried different orders of the control lines, it is not clear if the data is available when E is high or when it is pulse low.
Have any one done this or could help, thanks in advance.
Graham
dirsB = %00000000 'only b.0 to b.3 to OLED
Port=$FF 'just not zero at start
Low RS 'command mode
High RnW 'read mode
do while Port<>0
High E 'enabled LCD/OLED
pulsOut E,1
Port=Pinb.3 'read LSB b3-b0
Port=Port << 4 'shift nibble to higher nibble
PulsOut E,1
Port=Pinb.3 'read MSB b7-b4
Low E
sertxd(#Port) 'I just see 1 or 16 and some zeros when not in a do loop just run once
loop
Low RnW 'write mode
High RS
Low E
dirsB = %00001111 'only b.0 to b.3 to OLED
I tried different orders of the control lines, it is not clear if the data is available when E is high or when it is pulse low.
Have any one done this or could help, thanks in advance.
Graham