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

来源:互联网 发布:淘宝网禁止黄赌毒 编辑:程序博客网 时间:2024/05/15 02:52
RT,用的原子SPI实验修改,写命令,写数据都没有问题,但是读就是不对。
SPI配置如下:

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



 
SPI写命令,读命令部分


主程序部分
 

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

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














收藏收藏 支持支持 反对反对
 
回复

举报

  
angryBird

  离线 

5

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-8-26
在线时间
0 小时
  • 发消息
2#
 发表于 2013-10-13 23:00:35 | 只看该作者
【劲爆】点击免费下载正点原子全套STM32开发板全套资料
SPI2_ReadByte函数,在发送0xff的时候,为什么不在while中判断上次发送结束而直接调用SPI2_I2S_Senddata呢? 
用你上面写的SPI2_WriteData试试。
锄禾日当午,汗滴禾下土。
 
回复 支持 反对

举报

  
传说中的松哥

  离线 

17

主题

125

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

举报

  
863025154

  离线 

1

主题

6

帖子

0

精华

新手上路

Rank: 1

积分
29
金钱
29
注册时间
2016-2-15
在线时间
7 小时
  • 发消息
4#
 发表于 2016-7-11 11:29:28 | 只看该作者
我查了资料,这里sck的时序在空闲模式下应该是低电平吧
  
回复 支持 反对

举报

  
863025154

  离线 

1

主题

6

帖子

0

精华

新手上路

Rank: 1

积分
29
金钱
29
注册时间
2016-2-15
在线时间
7 小时
  • 发消息
5#
 发表于 2016-7-11 11:58:52 | 只看该作者
在吗 ? 能发一份驱动程序给我吗? 我现在也在驱动这种屏,但驱动不起来....
原创粉丝点击