hai325-289934 发表于 2019-8-9 14:55:27

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

使用STM32的USART与主机设备通讯,主机设备每隔50ms会与STM32的USART通讯一次,使用ADC 的DMA功能采集数据,再通过USART把数据传输给主机设备,USART和DMA中断同时开启时会造成硬件错误HardFault_Handler?分开使用时没有问题,USART中断优先级比DMA的高,有没有人知道什么原因啊,

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

主要不是发送数据,什么时候发送数据可以控制,主要是中断接收数据
页: [1]
查看完整版本: STM32 USART中断与ADC DMA中断冲突造成硬件错误