NHD-0216AW-IB3 Double Cursor
Hello,
I have included the NHD-0216AW-IB3 display in a design along with an MSPM0L1304 MCU. To save time, I began developing the code using the evaluation board connected to the display.
The problem is that when I execute the code, I can't get the text to display properly. If I try to write "Hello World" on it, each character appears as two incorrect characters simultaneously. Furthermore, if I only turn on the blinking cursor, two blinking cursors appear at the same time but in different positions and with different sizes.
I have reviewed the I2C bus to ensure the commands are properly sent, using an analyzer. I have also tried changing the pull-ups, but that made no difference.
These are the commands I send to it:
command(0x2A); //function set (extended command set)
command(0x71); //function selection A, disable internal Vdd regulator
data(0x00);
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(0x09); //extended function set (4-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(0x00); //set SEG pins
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
Am I doing something wrong, or could this particular display be defective?
Regards,
Fernando
-
Hello,
To be more specific, the cursor is split. Three vertical lines blink in the first character, and two vertical lines blink in a character 10 positions ahead.
Regards,
Fernando
0 -
Hi Fernando,
This type of problem can also be caused by wiring errors or damage, so I recommend that you check that your wiring is correct with firm connections first.
That said, the initialization code that you provided is correct. However, there may be an issue with some of the software timings in your program if there is no issues with your display's wiring. Can you confirm that you are allowing for sufficient delays when writing to the display?
Please note, we have a tutorial on the US2066 controller available and would recommend that you confirm the functionality of your display with an Arduino UNO if available.
0
Please sign in to leave a comment.
Comments
2 comments