OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2035|回复: 4

寄存器uart2空闲中断+DMA方式出现卡死问题

[复制链接]

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
290
金钱
290
注册时间
2014-1-2
在线时间
62 小时
发表于 2018-8-6 23:38:09 | 显示全部楼层 |阅读模式
1金钱
最近在调试一个小程序,使用到了UART2的空闲中断,接收和发送都使用DMA方式,另外开启了定时器3,1ms触发一次。
当串口2收到指令数据后,开始执行动作,在此期间,每1ms都会向上位机报告一次状态。直至动作执行完成。
但是在调试中发现,程序会跑飞,多次单步运行都无法定位原因。
现在把代码贴上来,高手帮忙看一下,谢谢。
20180806.rar (119.03 KB, 下载次数: 30)

最佳答案

查看完整内容[请看2#楼]

已解决,结帖。DMA发送中断的标志位写错了,应该都是25.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
290
金钱
290
注册时间
2014-1-2
在线时间
62 小时
 楼主| 发表于 2018-8-6 23:38:10 | 显示全部楼层
已解决,结帖。DMA发送中断的标志位写错了,应该都是25.
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-8-7 01:39:15 | 显示全部楼层
帮顶
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
290
金钱
290
注册时间
2014-1-2
在线时间
62 小时
 楼主| 发表于 2018-8-7 09:13:37 | 显示全部楼层

原子哥,谢帮顶。我又测试了一下,只留串口2 空闲中断 +DMA接收发送。主程序开一个led闪烁,只要串口一工作,就卡死。但是串口的中断和接收发送很正常。估计是哪里配置错误,继续排查。
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
290
金钱
290
注册时间
2014-1-2
在线时间
62 小时
 楼主| 发表于 2018-8-7 09:16:04 | 显示全部楼层
看到网上有帖子提到,是中断标志位导致的,但是我确实是按先读SR,再读DR的顺序操作的,不知道哪里出现了问题。继续查
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 01:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表