Author Topic: NHD-C0216CiZ-FN-FBW-3V No ACK  (Read 456 times)

mohammed

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
NHD-C0216CiZ-FN-FBW-3V No ACK
« on: August 10, 2017, 02:04:36 PM »
Hello,

Currently I am trying to get a character to display on the screen and I cant seem to get it to work. I noticed that in the init of the lcd whenever a odd bit this passed into the while loop it never breaks. So I never get passed that step. Furthermore, I hooked up the sda and scl lines to a scope and saw that the ack never happened when there was a odd bit passed in. I am using the same specs that were recommended and I am also using the bit banger code provided in the documentation.

This is the init code                                                                                         
void init_LCD()  {
I2C_Start();
I2C_out(0x7C);
I2C_out(0x00);
I2C_out(0x38);
delay(10);
I2C_out(0x39);
delay(10);
I2C_out(0x14);
I2C_out(0x78);
I2C_out(0x5E);
I2C_out(0x6D);
I2C_out(0x0C);
I2C_out(0x01);
I2C_out(0x06);
delay(10);
I2C_stop();
}
                                                                                                                     And here is the code where I get suck in the while loop
                                                                                                                       void I2C_out(unsigned char j)    //I2C Output { 
                                                                                                                       int n; 
                                                                                                                       unsigned char d; 
                                                                                                                       d=j; 
                                                                                                                       for(n=0;n<8;n++){   
                                                                                                                       if((d&0x80)==0x80)   
                                                                                                                             SDA=1;   
                                                                                                                          else   
                                                                                                                             SDA=0;   
                                                                                                                           d=(d<<1);   
                                                                                                                           SCL = 0;   
                                                                                                                           SCL = 1;   
                                                                                                                           SCL = 0;   
                                                                                                                       } 
                                                                                                                           SCL = 1; 
                                                                                                                           while(SDA==1){   
                                                                                                                               SCL=0;   
                                                                                                                               SCL=1;   
                                                                                                                       } 
                                                                                                                           SCL=0;
                                                                                                                       }

Saurabh_B

  • Administrator
  • Hero Member
  • *****
  • Posts: 363
  • Karma: 10
    • View Profile
Re: NHD-C0216CiZ-FN-FBW-3V No ACK
« Reply #1 on: August 15, 2017, 08:26:40 AM »
Currently working on this via email with customer.

 

NHD-C0216CIZ-FSW-FBW-3V3 unexpected I2C levels

Started by kentavvBoard Character LCDs

Replies: 3
Views: 2569
Last post April 30, 2016, 06:13:19 PM
by perky
NHD-C0216CiZ-FSW-FBW-3V3 with arduino nano

Started by litunBoard Character LCDs

Replies: 3
Views: 445
Last post September 21, 2017, 08:03:24 AM
by Saurabh_B
NHD-C0216CIZ Not Acknowledging

Started by danbujakBoard Character LCDs

Replies: 7
Views: 3575
Last post February 23, 2015, 08:16:16 AM
by Michael_L
NHD-C0216CiZ-FSW-FBW-3V3 not working

Started by gab_electroBoard Character LCDs

Replies: 1
Views: 952
Last post October 21, 2016, 03:09:51 PM
by Saurabh_B
Using NHD-C0216CiZ-FSW-FBW-3V3 on I2C on Linux

Started by ABSysacomBoard Character LCDs

Replies: 0
Views: 865
Last post November 08, 2016, 03:56:00 PM
by ABSysacom