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

请教,ADC中断对主循环的时间影响大吗?

[复制链接]
any012 提问时间:2019-1-26 10:05 /
10ST金币
HAL库编写的STM32F103程序,主循环外开启了ADC的DMA功能,在ADC中断里置了标志位。
后来发现,开启独立看门狗后,有很小的几率复位。觉得可能是ADC的中断的影响。
是不是开启DMA后,ADC就不停的进入了中断,从而影响了主循环里的喂狗程序?
如果是的话,如何避免这种情况?

最佳答案

查看完整内容

看门狗4秒,正常喂狗2秒一次。这都是很慢很慢的了。 你ADC读一次用很短时间呀,无论你是否使用DMA,都不会导致2秒还不回来喂狗狗。 真的触发了看门狗,您还是找一找别的原因吧,首先看看是否在正确的时间和地点喂狗。
收藏 评论10 发布时间:2019-1-26 10:05

举报

10个回答
radio2radio 回答时间:2019-1-26 10:05:25
看门狗4秒,正常喂狗2秒一次。这都是很慢很慢的了。
你ADC读一次用很短时间呀,无论你是否使用DMA,都不会导致2秒还不回来喂狗狗。

真的触发了看门狗,您还是找一找别的原因吧,首先看看是否在正确的时间和地点喂狗。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

wenyangzeng 回答时间:2019-1-26 10:15:50
既然使能了ADC的DMA,就等DMA传输结束后才中断一次,无需使能ADC中断,否则每次ADC转换结束都频繁进入多余的ADC中断。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

any012 回答时间:2019-1-26 10:29:27
wenyangzeng 发表于 2019-1-26 10:15
既然使能了ADC的DMA,就等DMA传输结束后才中断一次,无需使能ADC中断,否则每次ADC转换结束都频繁进入多余的 ...

谢谢。
我用的HAL库,配置成DMA方式时,会有DMA中断。
那么会不会是DMA不停进入中断,进而影响了主循环的时间?
wenyangzeng 回答时间:2019-1-26 10:57:35
any012 发表于 2019-1-26 10:29
谢谢。
我用的HAL库,配置成DMA方式时,会有DMA中断。
那么会不会是DMA不停进入中断,进而影响了主循环的 ...

DMA的中断应该也不至于影响到看门狗吧。可以先把ADC中断禁止了试看看。再有是看门狗的定时周期设置长一点。
any012 回答时间:2019-1-26 11:42:50
wenyangzeng 发表于 2019-1-26 10:57
DMA的中断应该也不至于影响到看门狗吧。可以先把ADC中断禁止了试看看。再有是看门狗的定时周期设置长一点 ...

我之前说错了,不好意思。
没有ADC中断,只有DMA传输中断;看门狗复位时间已经设为4秒了,个人感觉很长了。
wenyangzeng 回答时间:2019-1-26 13:36:09
any012 发表于 2019-1-26 11:42
我之前说错了,不好意思。
没有ADC中断,只有DMA传输中断;看门狗复位时间已经设为4秒了,个人感觉很长了 ...

那可能是你在DMA中断里做了许多事情,才有可能导致看门狗复位。
any012 回答时间:2019-1-26 13:45:22
谢谢。
七哥 回答时间:2019-1-27 00:38:21
如果按套路处理中断的话,无论什么中断都不会影响主循环。
中断服务程序中不出现死循环的代码,不处理占用周期较长代码,,快进快出。对于中断触发要处理的复杂功能,中断中只置个软件标志,在主循环中判断标志去执行,然后清标志。

评分

参与人数 2ST金币 +1 蝴蝶豆 +3 收起 理由
STMCU + 3
any012 + 1 很给力!

查看全部评分

any012 回答时间:2019-1-28 09:14:13
谢谢各位。
uniqueeefocus34 回答时间:2021-2-8 17:01:20

请问楼主最后怎么解决不断进入DMA中断的问题?以及内部接收ADC数据的buffer不断被刷新的问题?

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版