打印

STM32 SPI问题

[复制链接]
5726|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

使用特权

评论回复
5
helongdm|  楼主 | 2012-8-10 10:07 | 只看该作者
人呢?

使用特权

评论回复
6
IJK| | 2012-8-10 10:31 | 只看该作者
看得不大明白。
看上去LZ有的SPI配置,跑起来没有问题。如果是这样就容易了,把成功的配置复制过去,应该就行了。

使用特权

评论回复
7
airwill| | 2012-8-10 12:07 | 只看该作者
没头没脑的一堆说明, 看得人稀里糊涂!
到底是 SPI 的问题, 还是串口的问题, 楼主有没有先查清楚呢?
直觉, 软件里有缺陷

使用特权

评论回复
8
香水城| | 2012-8-10 12:21 | 只看该作者
寄存器的OVR位,只要在有溢出事件发生时就会置位,该位和中断没有关系,只有在使能了ERRIR位后,OVR事件才会触发中断

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

还是要仔细检查你的代码,估计是读数据的问题

使用特权

评论回复
9
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

使用特权

评论回复
10
helongdm|  楼主 | 2012-8-10 14:50 | 只看该作者
7# airwill

抱歉  可能我没描述清楚   两边串口都没有问题   丢数据  就是在SPI传输过种丢失的

使用特权

评论回复
11
luoxiao8302| | 2015-4-2 15:43 | 只看该作者
搞定,多谢你的额建议。。。。。

使用特权

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

本版积分规则

2

主题

221

帖子

1

粉丝