
各位大佬,新人初学嵌入式,现在在配一个ADC采样,配置Timer1通道1,2,3输出三路PWM,现在想要用Timer3TRGO通道触发ADC,ADC在三路输出PWM高电平中间点采样,该如何配置呢?目前搜索得到的配置方式是Timer1配置成中央对齐方式,然后ADC使能外部触发,为了观察是否在高电平中间点采样,在ADC中断做了一个IO口翻转操作,现在观察PWM和IO口波形,发现IO口翻转还是在PWM高电平上升沿时出现,请教一下各位大佬 该怎么配置呢 |
我猜测有可能应用要在MOS管打开后稳定时采集相电流的需要吧~ |
为什么要这样子。如果你采样时序有要求。你可用重新计算一个新的PWM,控制占空比。让其在中间部分出现上升沿。 |
没有更新事件触发ADC的话,中央对其方式就有点行不通。 那么换成单边模式,将ADC设为注入通道,用定时器1的通道4比较信号触发,就是每次都要根据PWM的脉宽计算一下 |
如果使用TIM3来做的确有点困难,如果说使用TIM1,在那个中间点产生更新事件是没有什么问题,但是又有个问题,这个事件没法传输过来,因为我看了下F1系列的ADC的外部触发源并不包括来做TIM1的更新事件。所以,这个还是看你最终的需求来定方案。 |
如果使能中央对齐方式时, PWM脉冲也需要中央对其,这样利用重复寄存器可以在每个中间点产生更新事件触发ADC转换。 另外ADC转换是有时间的,楼主观察时注意时间延迟,或者说PWM的宽度时间不能太短 |
谢谢各位大佬回复,做这个只是用板子输出了多路PWM控制,想达到好一点的AD采样效果,所以打算在PWM输出控制高电平中间点进行AD采样 |
HAL_TIM_IC_Start_DMA的回调函数是HAL_TIM_IC_CaptureCpltCallback吗?为什么进不去?
STM32MP135D的TIM2使用ETR作为外部时钟时,无法使用PE15作为输入
如何利用TIM1触发HRTIM TIMA生成频率为20Hz的100ns脉冲波?
低速晶振不起振问题
使用STM32F1能实现USB和fatfs同时访问SD卡吗
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
STM32F1使用FSMC外扩SRAM数据读写高8位数据异常问题
FW_H7 V1.12.1-HAL库DMA双缓冲配置
STM32G431 数据手册上有个图有点不理解
STM32G473RC多个定时器同步的问题