我是ARM MCU的新手(STM32F411),我一直在尝试使用STM的HAL库和STM32Cube来寻找外围设备。
我已配置好我的主板以使用某些外围设备:
定时器2 用于以特定频率运行中断
定时器3 ,用于在3个通道上运行PWM。
ADC ,带有4个通道,进入DMA模式,用于读取某些模拟输入。
现在让我们假设PWM的整个周期 100 ms 且其占空比为50%( 50 ms PWM on和 50 ms PWM关闭。)
我想在PWM开启一定时间后触发中断,让我们说50%。
因此,我想在25 ms运行一个中断,以便使用ADC对其模拟输入进行采样。
你有什么建议我怎么能实现这种中断?
提前感谢您的帮助!
答案 0 :(得分:3)
由于STM32F411的ADC用于常规模式(非注入模式),并且在定时器3上仅使用四个通道中的四个通道,因此第四个通道可用于触发ADC。
因此,定时器3的配置如下:
因此 TIM3-> CCR1 被加载到占空比为25%的值,然后它将产生TIM3_CH1事件,可用于触发ADC转换开始时的25%你的TIM3时基。