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

stm32F412VGT6触发定时器8事件中断会进入定时器4的中断处理函数中

[复制链接]
代码萌新 提问时间:2024-7-31 17:28 / 未解决

1.使用adc转换时候采取DMA转换方式,周期为定时器8event触发,代码运行时未打开定时器4中断,依旧出现定时器8事件中断触发进入定时器4的中断处理函数里。这是什么原因?

更换定时器4为定时器9问题就消失了。定时器4和8之间有什么内部联系吗?

收藏 评论4 发布时间:2024-7-31 17:28

举报

4个回答
butterflyspring 回答时间:2024-7-31 17:56:37
从向量表看,入口和定时器4 没关系,只和定时器14有关。


可以看看是笔误还是代码的中断入口位置有误了。

STM32F412 VECTOR MAP.PNG
xmshao 回答时间:2024-8-1 11:11:50
从手册上看,TIM8与TIM4的并没有共用中断矢量入口。倒是TIM8因触发事件或换相事件产生的中断与TIM14的中断共用同一入口。


这边也使用STM32F412 基于当前Cubemx和固件库创建工程实测了下,没有发现TIM8的事件可以触发TIM4的中断的情况。


TIM4 和 TIM8都是各自独立的计数模块,没有必然的固定联系。
代码萌新 回答时间:2024-8-1 15:40:36

xmshao 发表于 2024-8-1 11:11
从手册上看,TIM8与TIM4的并没有共用中断矢量入口。倒是TIM8因触发事件或换相事件产生的中断与TIM14的中断 ...

我的定时器14被用成内部时钟源的基准定时器了,这个会影响定时器8的工作吗?打开了8和14的公用中断向量。

image.png

还有adc采样触发是使用定时器8的trigger event溢出触发的,无法更新adc的dma采集,会不会也是因为定时器14被用了时钟源。而之前使用定时器3作为adc的触发源是可以正常实现adc采样功能的。

image.png

image.png

xmshao 回答时间:2024-8-2 10:02:06

代码萌新 发表于 2024-8-1 15:40</p>
<p>我的定时器14被用成内部时钟源的基准定时器了,这个会影响定时器8的工作吗?打开了8和14的公用中断向 ...

[md]我看你用到了TIM8的触发事件,如果同时也开启该事件的中断的话,中断矢量跟TIM14的中断矢量入口是同一个。

换言之,TIM8的触发事件产生的中断,进入的中断服务程序跟TIM4的所有中断是同一个。

顺便说下,TIMER可以基于很多事件产生中断,常见的主要是更新事件,其实还有比较事件、捕获事件、触发事件、换相事件等。

续:

我刚又看了下配置,你应该可以避免TIM8 触发事件产生中断的,cubeMx配置这里注意下。如果不要比较中断的话,第三个勾选也可以取消。

image.png

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