打印

问题又来了,GD150 硬件 SPI

[复制链接]
2214|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
现在使用硬件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的配置也是没有问题的是吧

使用特权

评论回复
5
zb0830| | 2015-12-13 20:27 | 只看该作者
外接有上拉之类的吗

使用特权

评论回复
6
zb0830| | 2015-12-13 20:36 | 只看该作者
你单独测试下SPI,有可能是因为开其它的外设导致SPI不能正常工作

使用特权

评论回复
7
zb0830| | 2015-12-13 20:39 | 只看该作者
我以前就在STM上遇到过类似的问题,当时是开了FSMC然后又用串口,发现串口无法配置成功,无法收到数据

使用特权

评论回复
8
smilingangel| | 2015-12-13 22:25 | 只看该作者
这一句主要还是需要硬件上完全可以的,不然一直在此等待的。

使用特权

评论回复
9
zhangbo1985| | 2015-12-13 22:58 | 只看该作者
可以再次句while程序中添加一个重启机制的比较好。

使用特权

评论回复
10
晓枫VS枯叶| | 2015-12-14 08:46 | 只看该作者

使用特权

评论回复
11
菜鸟同学|  楼主 | 2015-12-14 10:57 | 只看该作者

那用什么来判断?求解、。

使用特权

评论回复
12
steven_fae| | 2016-1-4 16:51 | 只看该作者
还有这样的问题,学习了

使用特权

评论回复
13
Ketose| | 2016-2-17 20:43 | 只看该作者
我用来驱动OLED屏,没有遇到你说的问题,也是调试了很久。就是设置的问题。

使用特权

评论回复
14
firstblood| | 2016-2-18 17:51 | 只看该作者
这个注重于SPI先关寄存器的配置的。

使用特权

评论回复
15
comeon201208| | 2016-2-19 09:29 | 只看该作者
这个采用DMA机制的处理下的吧。

使用特权

评论回复
16
wzw2134| | 2016-2-19 17:00 | 只看该作者
因为SPI接收和发送是同步进行的,可以考虑用SPI的接收标志位

使用特权

评论回复
17
smilingangel| | 2016-2-20 16:36 | 只看该作者
那就是说你的延时时间不够的啊

使用特权

评论回复
18
tongbu2015| | 2016-2-20 21:29 | 只看该作者
SPI的问题还是比较复杂的,多注意的吧

使用特权

评论回复
19
angerbird| | 2016-2-26 11:02 | 只看该作者
SPI总线的还是比较复杂的,设计的时候多注意。

使用特权

评论回复
20
peace555| | 2016-2-26 11:06 | 只看该作者
检查你的设置是否正确

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

707

帖子

8

粉丝