CW32L083的官方开发板,接的蜂鸣器是PB11,我查到GTIM为GTIM2通道4,但是我初始化后,却没有pwm波形输出。初始化码如下:
void pb11_pwm_output(void)
{
GTIM_InitTypeDef GTIM_InitStruct = {0};
__RCC_GTIM2_CLK_ENABLE(); // GTIM2时钟使能
/* PA6 PWM 输出 */
__RCC_GPIOB_CLK_ENABLE();
PB11_AFx_GTIM2CH4();
PB11_DIR_OUTPUT();
PB11_DIGTAL_ENABLE();
//__disable_irq();
// NVIC_EnableIRQ(GTIM2_IRQn);
//__enable_irq();
GTIM_InitStruct.Mode = GTIM_MODE_TIME;
GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE;
GTIM_InitStruct.Prescaler = GTIM_PRESCALER_DIV1;
//GTIM_InitStruct.ReloadValue = 60100UL >> 4; // PWM频率为 48M/60100*16=12k, SPWM频率 = 12k/2/200=30Hz
GTIM_InitStruct.ReloadValue = 60100UL - 1; // PWM频率为 48M/60100=800Hz, SPWM周期 = 800/2/1000= 0.4Hz
GTIM_InitStruct.ToggleOutState = DISABLE;
GTIM_TimeBaseInit(CW_GTIM2, >IM_InitStruct);
GTIM_OCInit(CW_GTIM2, GTIM_CHANNEL4, GTIM_OC_OUTPUT_PWM_HIGH);
GTIM_SetCompare1(CW_GTIM2, 30000);
//GTIM_ITConfig(CW_GTIM2, GTIM_IT_OV, ENABLE);
GTIM_Cmd(CW_GTIM2, ENABLE);
}
同样的配置GTIM1_1也就是PA06是可以产生pwm波形的。
|