你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 USART中断与ADC DMA中断冲突造成硬件错误

[复制链接]
hai325-289934 提问时间:2019-8-9 14:55 /
使用STM32的USART与主机设备通讯,主机设备每隔50ms会与STM32的USART通讯一次,使用ADC 的DMA功能采集数据,再通过USART把数据传输给主机设备,USART和DMA中断同时开启时会造成硬件错误HardFault_Handler?分开使用时没有问题,USART中断优先级比DMA的高,有没有人知道什么原因啊,
收藏 评论6 发布时间:2019-8-9 14:55

举报

6个回答
skyi 回答时间:2019-8-9 16:02:16
使用的是STM32哪个系列的呢?支持中断嵌套吗?可以试试在进入中断后关闭总中断( __disable_irq() ),退出时再开启总中断( __enable_irq() )试试
hai325-289934 回答时间:2019-8-9 17:04:15
使用的是STM32F103RE,支持中断嵌套的
wenyangzeng 回答时间:2019-8-9 17:41:19
USART和DMA读写内存时可能出现竞争了,USART发送数据其实无需采用中断方式,等DMA中断来了,就发送数据不就OK了?
hai325-289934 回答时间:2019-8-12 10:02:32
主要不是发送数据,什么时候发送数据可以控制,主要是中断接收数据
Glenxu 回答时间:2021-8-15 10:44:36
我认为大部分的外部设备中断优先级都不能高于DMA。
butterflyspring 回答时间:2021-8-16 10:47:06
通过仿真调试看看发生的HardFault上一步在什么位置,很多时候会有一些线索的。 通常发生访问地址错误的概率比较高。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版