高级PWMA-设置任意时刻触发ADC例子
本例程输出3路互补的PWM1、PWM2、PWM3,用PWM4模式2(中央对齐)设置触发ADC的时刻,设置为在PWM2的下降沿前6us触发ADC,ADC转换时间为6us。PWM4没有允许输出。本例使用PWM4触发ADC,触发时刻为PWM2下降沿前6us.
ADC输入端: P1.0(用户按需设置)。
PWM中断函数取反P3.3输出方波指示PWM中断.
ADC中断函数取反P3.4输出方波指示ADC中断.
串口1每隔1秒从P3.0 P3.1返回ADC值, 已转成十进制ASCII码.
wnagming 发表于 2024-12-19 21:06
任意时刻触发?用在哪里?
跟PWM关联的ADC,比如电机驱动、逆变器等等电感负载。
电感的电流是变化的(内阻小时电流与时间成线性关系),所以要求在PWM占空比结束前一段时间开始转换ADC。 好的,我参考一下,正需要外部触发ADC的例子。谢谢。 梁工请问一下这例子是写哪个寄存器来使用PWM2来触发ADC呀 大脸猫爱吃鱼 发表于 2025-5-27 22:53
梁工请问一下这例子是写哪个寄存器来使用PWM2来触发ADC呀
PWMA_CR2 |= (7<<4); // 触发ADC信号选择(TRG0), 1:计数器使能信号,2:更新事件, 3:比较脉冲, 4:比较OC1REF, 5:比较OC2REF, 6:比较OC3REF, 7:比较OC4REF.
梁工 发表于 2025-5-28 00:11
PWMA_CR2 |= (7
谢谢
页:
[1]