打印
[STM32F4]

DMA发生什么情况会引起系统复位?

[复制链接]
1084|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2021-12-15 09:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yzzly 于 2021-12-15 09:30 编辑

系统目前用了6个DMA数据流,DMA1_STREAM2与DMA1_STREAM4用来测试信号频率,DMA2_STREAM0的DMA_Channel_0用来读取407内部AD的直流信号转换结果,DMA2_STREAM1的DMA_Channel_0用来读取外挂AD芯片交流信号转换结果,DMA2_STREAM4的DMA_Channel_2与DMA2_STREAM5的DMA_Channel_4用作其它数据搬移,工作一切正常;现在需要再用一个数据流搬移数据,例如使能DMA2_STREAM3的DMA_Channel_0,一旦使能就引起芯片复位,迷茫!


使用特权

评论回复
评论
lihui567 2021-12-18 12:35 回复TA
dma用的不少 
沙发
sonicll| | 2021-12-15 10:14 | 只看该作者
DMA应该不会直接引起复位,可能会导致hardfault,你是不是在hardfault的中断服务函数里加了软件系统复位?

使用特权

评论回复
板凳
yzzly|  楼主 | 2021-12-15 10:26 | 只看该作者
sonicll 发表于 2021-12-15 10:14
DMA应该不会直接引起复位,可能会导致hardfault,你是不是在hardfault的中断服务函数里加了软件系统复位? ...

你认为呢?一个正常工作的系统,除了新使能一个DMA数据流,其它什么也没增加。

使用特权

评论回复
地板
yzzly|  楼主 | 2021-12-15 10:33 | 只看该作者
问题解决,在新使能的DMA中断函数内没有清除中断标志!

使用特权

评论回复
5
caoenq| | 2021-12-16 08:56 | 只看该作者
yzzly 发表于 2021-12-15 10:33
问题解决,在新使能的DMA中断函数内没有清除中断标志!

楼主提问有始有终,必须赞一个。

使用特权

评论回复
6
zyj213| | 2021-12-31 15:22 | 只看该作者
我觉得溢出会出现复位情况

使用特权

评论回复
7
shjuturt| | 2021-12-31 16:07 | 只看该作者
你是不是数据量比较大导致DMA溢出复位了啊

使用特权

评论回复
8
ksjdisa| | 2021-12-31 16:33 | 只看该作者
这个不好说,你是不是程序有while(1),还没喂狗

使用特权

评论回复
9
ppaakala| | 2021-12-31 16:33 | 只看该作者
你是开启看门狗了么?

使用特权

评论回复
10
hfaouhfoa| | 2021-12-31 17:01 | 只看该作者
是不是操作时间长,还没有喂狗导致的呢?

使用特权

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

本版积分规则

427

主题

1173

帖子

3

粉丝