TFT屏 NT35510 三线SPI读ID程序,有没有人会写?用过能读出ID的?搞了好多天没搞好,

2019-08-18 20:05发布

联系QQ1033972671 我使终读不对,搞了好多天了。资料都看了好多次了。
 unsigned char LCD_ReadData()   //LCDVF0=CS; LCDVF1=SDI; LCDVF2=SCK
{
 #if 1       //16-bit Serial Interface SCL????????·???????
 unsigned short i,MB=0X40;
 unsigned char data =0;
 SPI_Start();
 i = data;
  MB=0Xc0;
 for(i=0;i<8;i++)
   {
    SCLK(0); 
    Delayus(100);
     if(MB&0x80)
    SDI(1);   
     else
    SDI(0);
    Delayus(100);
    SCLK(1);
    Delayus(100);   
     MB<<=1;
   }
  Delayus(100); 
  SetSDItoIN();
  Delayus(100); 
 for(i=0;i<8;i++)
   {
    SCLK(0); 
     Delayus(100);
    Delayus(100);
    SCLK(1);
     Delayus(100);
    data <<=1;
    if(CheckSDI()){
     data++;
    }   
        Delayus(100);     
   }
       
  Delayus(100); 
    SPI_Stop();
  return data;
 #endif
} unsigned short ID[3];
void NT35512_Read_ID(void)
{  LCD_REG(0XDA00);
 ID[0] = LCD_ReadData();
 LCD_REG(0XDB00);
 ID[1] = LCD_ReadData();
 LCD_REG(0XDC00);
 ID[2] = LCD_ReadData();
} 上升沿发送数据。以上为我的读程序,我的写程序对屏初始化都正常,请问读程序哪里有问题?   void SPI_Start(void)
{
 SetSDItoOUT();
  SCLK(1); 
 Delayus(100);
 CS(1);
 Delayus(100);
  CS(0);
 Delayus(50);
 SCLK(0);
} void SPI_Stop(void)
{
 SCLK(1);
 Delayus(50);
  CS(1);
 Delayus(100);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
小融
2019-08-19 15:46
本帖最后由 小融 于 2017-3-13 15:32 编辑

After the read status command has been sent,
the SDI line must be set to tri-state no later than at the falling SCL edge of the last bit.
楼主搞成功了吗?我最近真在搞这个,这句话是说读取之前单片机的SDO(屏幕的SDI)引脚也要设置成浮空模式,引脚说明中也说读取时单片机的SDO在高阻态。我看你程序没有

一周热门 更多>