|
使用定时器触发ADC采样PWM正脉冲时刻的负载电压电流,触发ADC的定时器用的就是产生PWM的定时器,设置为上升沿触发,测试发现每个PWM周期内ADC被触发了两次,一次是PWM上升沿的时候,另一次是PWM低电平的时候,不知道为什么每个PWM周期内会触发第二次采样? 此外,如何确保ADC采样到PWM正脉冲的中间时刻呢? 测试波形 CH1: 定时器产生的其中一路PWM波形(两路PWM交替开启) CH2: ADC采样完成DMA中断函数-连续反转GPIO输出的波形
配置如下: 定时器4:产生两路PWM信号驱动负载,同时将输出触发设置为 Update Event触发ADC采样
ADC: 三个通道连续采样,由定时器4的上升沿触发,DMA循环模式搬运采样结果到内存-开启DMA中断
DMA中断:连续反转GPIO,便于用示波器观测采样时机
|
官网CubeMXmac(m芯片)版本安装包有问题吧,安装后实际是intel版本
请问一下STM32U575VGT6在mx里怎么配置DCMI的DMA setting啊,我点那个页面只有GPDMA1,跳转过去也没有什么DCMI的选项
MX创建的SMT32工程在IDE中build会报错
Cubemx的外部低速时钟已激活但时钟树中HSI无法选择
ai部署
不知道STM32CubeMx2是否有查找功能的选项
使用CUB进行调试或者下载固件时候均出现下面的报错,使用的工具是J-LINK,尝试重新给工具上电,重启IDE,重启电脑,更新配置均是一样问题点,请问这个是为什么呢
STM32H743使用Keil V6(AC6)编译FreeRTOS报错__forceinline未定义及CMSIS-RTOS2配置错误,如何解决?
STM32U385的PB1引脚设置推挽输出,外部接电阻上拉时,断掉MCU的电源,MCU仍然运行的问题
CubeMX lwip支持的phy芯片型号只支持一个吗?
微信公众号
手机版
通常比较合适的做法是将代码放在完成中断的回调函数里。
所以放在 IRQhandler 里面很可能执行了两次。
不妨调试看看是不是这个原因。
你到底是基于PWM的比较事件触发ADC 还是基于ADC的周期性更新事件触发ADC;
你提到的上沿是模糊的说法,PWM输出可以自由配置,即使相同CCR和ARR值不同的输出模式,上下沿的位置会不同;
你现在到底是连续采样还是基于定时器触发才采样,基于你现在的配置,就是每次定时器更新事件触发3次采样。
你用到DMA完成中断,这个中断跟你一轮完成的数据个数有关,假设你现在传输3个数据为一轮,即发生三次采样后发生完成中断;
您好,
我的目的是每次定时器触发3个通道的ADC采样(每次触发每个通道都要采样一次),预期的采样时间是PWM输出为正的那段时间里(最好是正中间)。
谢谢!确实是这个原因导致的。
你好,我这里请教几个稍有偏离的问题,希望不会太麻烦你:
传输一半中断,是有什么用处?
是否可以关闭这个传输一半中断?
谢谢~