[应用相关] STM32定时器触发ADC采样+DMA中断数据转运,为什么配置PWM的死区会影响进入DMA中断

[复制链接]
4780|104
 楼主| 七毛钱 发表于 2022-11-8 10:00 | 显示全部楼层 |阅读模式
  TIM_BDTRInitStructure.TIM_AutomaticOutput=TIM_AutomaticOutput_Disable;
        TIM_BDTRInitStructure.TIM_Break=TIM_Break_Disable;
        TIM_BDTRInitStructure.TIM_BreakPolarity=TIM_BreakPolarity_High;
        TIM_BDTRInitStructure.TIM_DeadTime=0xD4;
        TIM_BDTRInitStructure.TIM_LOCKLevel=TIM_LOCKLevel_1;
        TIM_BDTRInitStructure.TIM_OSSIState=TIM_OSSIState_Enable;
        TIM_BDTRInitStructure.TIM_OSSRState=TIM_OSSRState_Enable;
        TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);
这是我的死区配置,发现配置死区后ADC每触发三次采样,却只进入两次DMA中断,不配置死区就能正常进入中断。
哪位大佬解惑,谢谢啦。

一只眠羊 发表于 2022-12-1 00:00 | 显示全部楼层
听你的意思是,ADC触发三次,PWM只有2次中断响应了是么

在曼谷的春 发表于 2022-12-1 00:32 | 显示全部楼层
你的中断优先级呢,是不是设置的有问题啊

她已醉 发表于 2022-12-1 01:04 | 显示全部楼层
你能不能把例程发出来呀?我想自己也仿真看看,也许能看得出来是咋回事儿

失物招領 发表于 2022-12-1 01:36 | 显示全部楼层
其实你可以通过仿真调试的方式看一下,看看是为啥没触发成功

我吃小朋友 发表于 2022-12-1 02:08 | 显示全部楼层
定时器可以用flag++的方式实现触发ADC采样的,这种比较方便吧

未说出口的像你 发表于 2022-12-1 02:40 | 显示全部楼层
不会死区触发,这种是什么操作啊?

春日负喧 发表于 2022-12-1 03:12 | 显示全部楼层
那你把死区去掉是不是就好了

故意相遇 发表于 2022-12-1 03:44 | 显示全部楼层
正常来说,ADC采样之后就能触发DMA的吧

风凉 发表于 2022-12-1 04:16 | 显示全部楼层
是不是你定时太快了,导致dma没传完,数据就又更新了

捧一束彼岸花 发表于 2022-12-1 04:48 | 显示全部楼层
DMA是怎么触发的?是达到多少个字节数触发么?

SantaBunny 发表于 2023-2-20 22:47 | 显示全部楼层
你把死区去掉看看
averyleigh 发表于 2023-3-3 20:57 | 显示全部楼层
你采样是不是使用的dma中断呢?
cashrwood 发表于 2023-3-3 21:57 | 显示全部楼层
检查寄存器配置;检查采样源是否上电
Henryko 发表于 2023-3-3 22:21 | 显示全部楼层
adc采样后就能触发吧
wwppd 发表于 2023-3-5 12:20 | 显示全部楼层
PWM的作用是什么?              
dspmana 发表于 2023-3-9 13:26 | 显示全部楼层
连续采样ADC怎样通过DMA将数据传送到外部SRAM
Undshing 发表于 2023-3-9 18:17 | 显示全部楼层
仿真一下看为什么没能触发
lzmm 发表于 2023-3-11 22:20 | 显示全部楼层
最大的采样速度是多少?              
wangdezhi 发表于 2023-3-14 11:48 | 显示全部楼层
AD转换的DMA方式和非DMA方式有什么不同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

400

主题

2801

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部