OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8102|回复: 4

用SPI2驱动ILI9341 TFT屏 能写,但读不对?向各位请教一下。

[复制链接]

17

主题

146

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2013-7-9
在线时间
57 小时
发表于 2013-10-13 21:10:40 | 显示全部楼层 |阅读模式
RT,用的原子SPI实验修改,写命令,写数据都没有问题,但是读就是不对。
SPI配置如下:


做最简单的读操作,读TFT驱动芯片生产商,驱动型号信息,操作过程是,写命令0X04,然后读4次,把读的结果发串口;




SPI写命令,读命令部分


主程序部分



但是读回来的数据不对,不知道是不是理解有问题,我是这么理解的
第一步:向LCD写读驱动IC信息命令
第二步:当发完要读的命令后,LCD会把第一字节准备好,这时再发一个0xff去交换LCD移位寄存器里面的数据;【这时 LCD移位寄存器 里面是我发过去的0xff呢还是准备驱动IC信息的第二个字节?】
第三步:同样再用一个0xff去交换第二个字节,即读第二个字节;
第四步:同样再用一个0xff去交换第三个字节,即读第三个字节; 
第五步:同样再用一个0xff去交换第四个字节,即读第四个字节; 

最终发给串口,可是串口显示的数据不正确,弄了一下午,没搞出来。故前来求助。
下面是串口数据:














正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-8-26
在线时间
0 小时
发表于 2013-10-13 23:00:35 | 显示全部楼层
SPI2_ReadByte函数,在发送0xff的时候,为什么不在while中判断上次发送结束而直接调用SPI2_I2S_Senddata呢?
用你上面写的SPI2_WriteData试试。
锄禾日当午,汗滴禾下土。
回复 支持 反对

使用道具 举报

17

主题

146

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2013-7-9
在线时间
57 小时
 楼主| 发表于 2013-10-14 08:44:25 | 显示全部楼层
回复【2楼】angryBird:
---------------------------------
这两个函数是把原子的SPI_ReadWriteByte一拆为二,当时用这个函数刷屏比较慢,所以就拆了,发送时判断了,读没判断,晚上试试看。
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2016-2-15
在线时间
7 小时
发表于 2016-7-11 11:29:28 | 显示全部楼层
我查了资料,这里sck的时序在空闲模式下应该是低电平吧
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2016-2-15
在线时间
7 小时
发表于 2016-7-11 11:58:52 | 显示全部楼层
在吗 ? 能发一份驱动程序给我吗? 我现在也在驱动这种屏,但驱动不起来....
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 12:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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