我想要实现如下功能: 要用stm32自带的AD测量交流信号的一个周波32个点。 思路是这样子的: 先用TIM4来检测交流信号的过零点,我准备用TIM4的捕获功能,当信号有上升沿时,捕获,此时会进入中断程序(在定时器配置的时候已经开了捕获中断),在中断程序中,开TIM2的定时器(用这个定时器来控制AD的采样间隔)。定时器TIM2触发AD采样32次后,停止计数。等到下一个周波的上升沿来时,又进入TIM4的捕获中断,启动TIM2,如此反复。 预订做法: (1)配置信号PB6(TIM4-CH1)为浮空输入,信号经过比较器进入到这里,从而取得上升沿。 (2)配置TIM4时基,配置TIM4-CH1输入捕获,选TIM_TS_TI1FP1输入触发,其他配置照例程,使能TIM4,开中断TIM_IT_CC1。 (3)在TIM4的中断程序中启动TIM2采样间隔定时。 (4)在TIM2的中断程序中,开始采样。
这样可以吗? |