Newhaven Display Forum

Newhaven Products => OLEDs => Topic started by: tonybeckett on February 13, 2015, 03:07:28 PM

Title: nhd-0216cw-ar3 - locks up
Post by: tonybeckett on February 13, 2015, 03:07:28 PM
Interfacing to the display using i2c at 3.3V with 4.7K pullups.
I have been able to send both lines multiple times but
randomly the i2c bus freezes. Seems as the data line is being pulled low.
happens in middle of a command or data transfer. 
I have tried 10KHz and 400KHz clock rate transfers both have the issue.

Any thoughts?

Cheers
T
Title: Re: nhd-0216cw-ar3 - locks up
Post by: Michael_L on February 13, 2015, 04:47:46 PM
Do you have any other devices present on the I2C bus?  If so can you please isolate the display on it and try testing this again?  Whether already isolated or not, can you try using the display again with larger pull-ups? (Try 10kΩ)
Title: Re: nhd-0216cw-ar3 - locks up
Post by: tonybeckett on February 17, 2015, 07:34:33 AM
I had tried 10K pullups but the signals did not look good.
Title: Re: nhd-0216cw-ar3 - locks up
Post by: tonybeckett on February 17, 2015, 02:14:53 PM
How fast can the display respond to clear display cmd , home cmd, and fill 2 lines with text?
Title: Re: nhd-0216cw-ar3 - locks up
Post by: tonybeckett on February 18, 2015, 01:19:41 PM
IF I try to send cmds to
clear,home, display 1 line , gotoline 2, display
faster than 2 Hz the display hangs the i2c bus randomly.
Is that expected?

T
Title: Re: nhd-0216cw-ar3 - locks up
Post by: Michael_L on February 23, 2015, 08:04:23 AM
Although this doesn't appear to be listed in the controller's datasheet, typically these types of character display controllers have longer execution times for the Clear Display and Return Home commands when compared to the other commands available.  It is usually safe to implement a 2ms delay after the clear command is called, can you try using this?
Title: Re: nhd-0216cw-ar3 - locks up
Post by: tonybeckett on February 25, 2015, 07:03:09 AM
I added 4 mS delays after each and a longer one in the main loop.
Only after adding a 300mS delay does the program get stable.
Seems the display pulls the i2c bus low and never releases.