考虑到只有一个事件输出寄存器(AFIO-> EVCR)只能配置为一个端口,是否可以在stm微控制器的所有4个捕获/比较通道上输出不同的pwm信号。我如何同时使用计时器的不同通道?
答案 0 :(得分:1)
EVCR寄存器用于EVENTOUT,用于在SEV
指令上产生脉冲。
这是皮质的特征,而不是计时器。
要利用定时器PWM生成,请使用TIMx CHx(N)通道。
计时器配置示例:
TIMx->CCMR1 = TIM_CCMR1_OC1PE // Preload CCR (buffered)
| (7<<TIM_CCMR1_OC1M_Pos); // PWM mode 2, active while TIMx_CNT < TIMx_CCR1
TIMx->CCER = TIM_CCER_CC1E; // Enable output ch1
TIMx->PSC = 3-1; // Prescaler (72 Mhz)
TIMx->ARR = 48000-1; // Reload must be >0 to operate timer in INC mode
TIMx->CNT = TIMx->ARR; // Immediate trigger
TIMx->CCR1 = TIMx->ARR/2; // 50%