请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3508|回复: 3

求助,为什么ILI9841液晶读取ID号为0?

[复制链接]

2

主题

6

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2020-5-27 21:31:34 | 显示全部楼层 |阅读模式
1金钱
本人使用的开发板是PZ6806D,配的3.5寸液晶屏,驱动是是ILI9481 ,普中实例中读取ID的程序如下:
#ifdef TFTLCD_ILI9481
        LCD_WriteCmd(0Xd3);       
        tftlcd_data.id=TFTLCD->LCD_DATA;         
        tftlcd_data.id=TFTLCD->LCD_DATA;  
        tftlcd_data.id=TFTLCD->LCD_DATA;  
        tftlcd_data.id<<=8;
        tftlcd_data.id|=TFTLCD->LCD_DATA;  
#endif
       
        printf(" LCD ID:%x\r\n",tftlcd_data.id); //打印LCD ID


但是在串口调试助手中显示的是 :
LCD ID:0
color=1f
为什么不是9481?
ILI9481的数据手册中0xd3指令的解释是Power_Setting for Partial Mode 局部模式的功率设定,不是读取液晶的ID号,
而读取设备ID的指令是0xBF,把程序改为:
#ifdef TFTLCD_ILI9481
        LCD_WriteCmd(0Xbf);       
        tftlcd_data.id=TFTLCD->LCD_DATA;         
        tftlcd_data.id=TFTLCD->LCD_DATA;  
        tftlcd_data.id=TFTLCD->LCD_DATA;  
        tftlcd_data.id<<=8;
        tftlcd_data.id|=TFTLCD->LCD_DATA;  
#endif

编译后,下载到开发板,在串口调试助手中显示的还是是 :
LCD ID:0
color=1f
这是为什么呢?
我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励10 金钱 , 目前已有2人回答

回复

使用道具 举报

27

主题

337

帖子

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 2020-5-28 08:45:53 | 显示全部楼层
读取的ID有时候是错误的,不一定和手册一样。所以不能只看ID读取。使用LCD的读功能是为了方便后续学习STemWin。只需要测试读点颜色是否正确即可。
回复

使用道具 举报

2

主题

6

帖子

22

积分

新手上路

Rank: 1

积分
22
 楼主| 发表于 2020-5-28 09:06:45 | 显示全部楼层
admin 发表于 2020-5-28 08:45
读取的ID有时候是错误的,不一定和手册一样。所以不能只看ID读取。使用LCD的读功能是为了方便后续学习STemW ...

为什么会读错呢?普中的程序和正点原子的程序相识度太高了,也不知道你们谁参考谁的,正点原子的程序能读出来,你的怎么就读不出来?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-3-29 22:46 , Processed in 0.087496 second(s), 34 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表