新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2018-7-12
- 在线时间
- 4 小时
|
1金钱
如题
程序用的是正点原子rct6的例程,用rct6开发板能够正常读取9341的ID。相同程序下载到自己画的系统板上时,读取高八位数据错误,直接读取了两次低八位。
程序截取如下 图为串口回传数据 上面是自己画的系统板数据 下面是开发板正确数据
LCD_WriteReg(0x0000,0x0001);
delay_ms(50); // delay 50 ms
lcddev.id = LCD_ReadReg(0x0000);
printf(" ID:%x\r\n",lcddev.id); //′òó¡LCD ID
if(lcddev.id<0XFF||lcddev.id==0XFFFF||lcddev.id==0X9300)//¶áμ½ID2»Õyè·,DÂÔölcddev.id==0X9300ÅD¶Ï£¬òòÎa9341ÔúÎ′±»¸′λμÄÇé¿öÏ»ᱻ¶á3é9300
{
//3¢êÔ9341 IDμĶáè¡
LCD_WR_REG(0XD3);
LCD_RD_DATA(); //dummy read
LCD_RD_DATA(); //¶áμ½0X00
lcddev.id=LCD_RD_DATA(); //¶áè¡93
lcddev.id<<=8;
lcddev.id|=LCD_RD_DATA(); //¶áè¡41
}
u16 LCD_RD_DATA(void)
{
u16 t;
GPIOB->CRL=0X88888888; //PB0-7 éÏà-êäèë
GPIOB->CRH=0X88888888; //PB8-15 éÏà-êäèë
GPIOB->ODR=0X0000; //è«2¿êä3ö0
LCD_RS_SET;
LCD_CS_CLR;
//¶áè¡êy¾Y(¶á¼Ä′æÆ÷ê±,2¢2»Dèòa¶á2′Î)
LCD_RD_CLR;
if(lcddev.id==0X8989)delay_us(2);//FOR 8989,Ñóê±2us
t=DATAIN;
printf(" LCD ID:%x\r\n",t); //′òó¡LCD ID
LCD_RD_SET;
LCD_CS_SET;
GPIOB->CRL=0X33333333; //PB0-7 éÏà-êä3ö
GPIOB->CRH=0X33333333; //PB8-15 éÏà-êä3ö
GPIOB->ODR=0XFFFF; //è«2¿êä3ö¸ß
return t;
}
|
-
|