Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - eyarg

Pages: [1]
1
OLEDs / NHD-0220CW-AY3 Freeze after 12 hours
« on: March 09, 2017, 03:59:38 AM »
Hey,

I'm having trouble with OLED model NH-0220CW-AY3 : After about 12 hours of continuous work in which writes to screen occur every 400 ms, the screen freezes with some last write on it.
I communicate with the OLED using I2C.

Any ideas?

Thanks, Eyar

2
OLEDs / Flickering NHD-0220CW-AY3
« on: November 15, 2016, 12:55:12 AM »
Hey NHD,

EDIT: after trying to catch the trigger for the flickering, I found it depends on the first char of the first line. a "tall" char causes flickering, a "short" char doesn't.
Common chars I found be "unharmful" are: acegmnopqrsuvwxyz-+=.
So far this theory is consistent. Anyone has a clue about the cause of it and maybe a solution?

Original:
The repetitive issue is that the display keeps flickering after some changing prints. The flicker is a row of dots for a split second and once it starts it won't stop until a power off then on. I still can't figure out the exact trigger that starts the flickering but it always eventually starts, and my application send new prints every 250 ms so that it starts pretty soon on system start.
My init routine is copied from the data sheet and is also compared to some examples from the web.
Here it is just in case:

RES = 1; //reset HIGH inactive
delayms(1); //delay
command(0x2A); //function set (extended command set)
command(0x71); //function selection A
data(0x00); // disable internal VDD regulator (2.8V I/O). data(0x5C) = enable regulator (5V I/O)
command(0x28); //function set (fundamental command set)
command(0x08); //display off, cursor off, blink off
command(0x2A); //function set (extended command set)
command(0x79); //OLED command set enabled
command(0xD5); //set display clock divide ratio/oscillator frequency
command(0x70); //set display clock divide ratio/oscillator frequency
command(0x78); //OLED command set disabled
command(0x08); //extended function set (2‐lines)
command(0x06); //COM SEG direction
command(0x72); //function selection B
data(0x00); //ROM CGRAM selection
command(0x2A); //function set (extended command set)
command(0x79); //OLED command set enabled
command(0xDA); //set SEG pins hardware configuration
command(0x10); //set SEG pins hardware configuration
command(0xDC); //function selection C
command(0x00); //function selection C
command(0x81); //set contrast control
command(0x7F); //set contrast control
command(0xD9); //set phase length
command(0xF1); //set phase length
command(0xDB); //set VCOMH deselect level
command(0x40); //set VCOMH deselect level
command(0x78); //OLED command set disabled
command(0x28); //function set (fundamental command set)
command(0x01); //clear display
command(0x80); //set DDRAM address to 0x00
command(0x0C); //display ON
delayms(100); //delay

Any and all ideas are welcome.

Thanks,
Eyar

Pages: [1]