问题又来了,GD150 硬件 SPI

[复制链接]
2800|20
 楼主| 菜鸟同学 发表于 2015-12-8 18:53 | 显示全部楼层 |阅读模式
现在使用硬件SPI 8BIT 发送方式驱动TFT。模拟的是正常的。但是硬件的就是不行。
然后我飞线用逻辑分析仪看,发现 数据还没有发送完,我就拉高CS
造成对方数据识别错位,我试着在发送数据后面加1us延时OK了,但是这样刷屏明显的就变慢了。
我看了数据手册说的TXB是发送缓冲发送完成 BSY是发送数据完成。
SPI_I2S_SendData(SPI2, data);                                                       
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_BSY) == SET);

各位帮忙看看这个怎么搞定。
vivilzb1985 发表于 2015-12-10 14:10 | 显示全部楼层
这个检查下看有没有其他地方影响的了。
 楼主| 菜鸟同学 发表于 2015-12-10 14:47 | 显示全部楼层
vivilzb1985 发表于 2015-12-10 14:10
这个检查下看有没有其他地方影响的了。

我怀疑是硬件 SPI自身的 BUG
chaoking888 发表于 2015-12-13 10:00 | 显示全部楼层
SPI的配置也是没有问题的是吧
zb0830 发表于 2015-12-13 20:27 | 显示全部楼层
外接有上拉之类的吗
zb0830 发表于 2015-12-13 20:36 | 显示全部楼层
你单独测试下SPI,有可能是因为开其它的外设导致SPI不能正常工作
zb0830 发表于 2015-12-13 20:39 | 显示全部楼层
我以前就在STM上遇到过类似的问题,当时是开了FSMC然后又用串口,发现串口无法配置成功,无法收到数据
smilingangel 发表于 2015-12-13 22:25 | 显示全部楼层
这一句主要还是需要硬件上完全可以的,不然一直在此等待的。
zhangbo1985 发表于 2015-12-13 22:58 | 显示全部楼层
可以再次句while程序中添加一个重启机制的比较好。
晓枫VS枯叶 发表于 2015-12-14 08:46 | 显示全部楼层
 楼主| 菜鸟同学 发表于 2015-12-14 10:57 | 显示全部楼层

那用什么来判断?求解、。
steven_fae 发表于 2016-1-4 16:51 | 显示全部楼层
还有这样的问题,学习了
Ketose 发表于 2016-2-17 20:43 | 显示全部楼层
我用来驱动OLED屏,没有遇到你说的问题,也是调试了很久。就是设置的问题。
firstblood 发表于 2016-2-18 17:51 | 显示全部楼层
这个注重于SPI先关寄存器的配置的。
comeon201208 发表于 2016-2-19 09:29 | 显示全部楼层
这个采用DMA机制的处理下的吧。
wzw2134 发表于 2016-2-19 17:00 | 显示全部楼层
因为SPI接收和发送是同步进行的,可以考虑用SPI的接收标志位
smilingangel 发表于 2016-2-20 16:36 | 显示全部楼层
那就是说你的延时时间不够的啊
tongbu2015 发表于 2016-2-20 21:29 | 显示全部楼层
SPI的问题还是比较复杂的,多注意的吧
angerbird 发表于 2016-2-26 11:02 | 显示全部楼层
SPI总线的还是比较复杂的,设计的时候多注意。
peace555 发表于 2016-2-26 11:06 | 显示全部楼层
检查你的设置是否正确
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

706

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部