STM32 SPI问题

[复制链接]
6747|11
 楼主| helongdm 发表于 2012-8-9 09:56 | 显示全部楼层 |阅读模式
用stm32f103做的SPI扩展串口
现在问题是用另外一块板发送数据到扩展板扩展板串口发出到PC会丢数据

调试发现,SPI中断有时候进去不是RXNE中断(寄存器有OVE错误),但SPI我只开了一个RXNE中断,并没有打开溢出中断

另外我从PC串口给扩展板发送(同时给三个扩展串口发送),扩展板SPI给另一块开发板,再转发给另一个PC串口,没有丢失,一次发10个间隔1ms,测试100K,接收300K没有丢失
 楼主| helongdm 发表于 2012-8-9 10:26 | 显示全部楼层
自己顶
zzw111 发表于 2012-8-9 11:13 | 显示全部楼层
检查下SPI初始化和中断处理程序,是不是中断标志位没清零?
 楼主| helongdm 发表于 2012-8-9 22:48 | 显示全部楼层
3# zzw111
初始化没问题   我只开了一个中断  但进了中断程序   却不是RXNE
 楼主| helongdm 发表于 2012-8-10 10:07 | 显示全部楼层
人呢?
IJK 发表于 2012-8-10 10:31 | 显示全部楼层
看得不大明白。
看上去LZ有的SPI配置,跑起来没有问题。如果是这样就容易了,把成功的配置复制过去,应该就行了。
airwill 发表于 2012-8-10 12:07 | 显示全部楼层
没头没脑的一堆说明, 看得人稀里糊涂!
到底是 SPI 的问题, 还是串口的问题, 楼主有没有先查清楚呢?
直觉, 软件里有缺陷
香水城 发表于 2012-8-10 12:21 | 显示全部楼层
寄存器的OVR位,只要在有溢出事件发生时就会置位,该位和中断没有关系,只有在使能了ERRIR位后,OVR事件才会触发中断

所以你的中断即使有,也不是OVR造成的,但是OVR置位,一定是发生了溢出事件

还是要仔细检查你的代码,估计是读数据的问题
Alex_rcpilot 发表于 2012-8-10 12:37 | 显示全部楼层
本帖最后由 Alex_rcpilot 于 2012-8-10 12:52 编辑

8# 香水城
香主,我遇到个SPI+DMA的问题不知道用什么方法进一步查找原因,烦请指教。谢谢。

STM32的SPI RX-ONLY模式要停止传输很麻烦,内详 https://bbs.21ic.com/viewthread.php?tid=363335
 楼主| helongdm 发表于 2012-8-10 14:50 | 显示全部楼层
7# airwill

抱歉  可能我没描述清楚   两边串口都没有问题   丢数据  就是在SPI传输过种丢失的
luoxiao8302 发表于 2015-4-2 15:43 | 显示全部楼层
搞定,多谢你的额建议。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

221

帖子

1

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