STM32/STM8技术william hill官网
直播中

贾埃罗

7年用户 1712经验值
私信 关注
[问答]

写了一段程序,普通的DMA接收中断只能进入一次是什么情况?

就只能进入一次接收中断,哪个地方不对?要怎么改才能每次接收都进入DMA接收中断?下面是程序
QQ图片20180830090929.png

回帖(3)

王飞云

2018-8-30 09:28:38
1、是不是设置为DMA_Mode_Circular就可以实现循环接收了?
2、Normal mode的话,在中断里重新写入接收长度
不过我还没有验证,不知道能不能行。
你可以试试,OK的我就可以直接用了
举报

贾埃罗

2018-8-30 09:41:54
你说的是对的,你说的第二点,不光是在中断中重新配置长度,重要的是要在中断中关闭DMA并且重新开启
举报

王飞云

2018-8-30 09:42:21
嗯,我之前也是代码写好了

还没来得及调试。

使用的是Normal模式,没有使用环的方式

中断里确实也加了 先关闭DMA,然后简单处理数据,获取接收长度,在重写长度进去,然后开启DMA,退出中断

也是参考了好几个人的例子。感觉应该差不多。就是突然“中断”来了,去处理其他事情,还没来及调试
举报

更多回帖

发帖
×
20
完善资料,
赚取积分