如果要使用PWM模块输出2kHz,要如何配置
热门产品 :
CH397: 高集成度、低功耗USB网卡芯片
如果要使用PWM模块输出2kHz,要如何配置
如果使用的是8位的pwm,无法设置频率精确到2KHz,会有一点偏差,计算公式可参考此链接:
https://www.cnblogs.com/risc5-ble/p/17386326.html
如果是用的是26位的pwm,可设置精确的2KHz,可参考定时器例程配置,主频默认是60M,
#if 1 /* 定时器3,PWM输出 */ GPIOB_ResetBits(GPIO_Pin_22); // 配置PWM口 PB22 GPIOB_ModeCfg(GPIO_Pin_22, GPIO_ModeOut_PP_5mA); TMR3_PWMInit(High_Level, PWM_Times_1); TMR3_PWMCycleCfg(60 * 100); // 周期 100us 最大67108864 TMR3_PWMActDataWidth(3000); // 占空比 50%, 修改占空比必须暂时关闭定时器 TMR3_PWMEnable(); TMR3_Enable(); #endif
2k频率可如下配置:
#if 1 /* 定时器3,PWM输出 */ GPIOB_ResetBits(GPIO_Pin_22); // 配置PWM口 PB22 GPIOB_ModeCfg(GPIO_Pin_22, GPIO_ModeOut_PP_5mA); TMR3_PWMInit(High_Level, PWM_Times_1); TMR3_PWMCycleCfg(30 * 1000); // 周期 500us 最大67108864 TMR3_PWMActDataWidth(15000); // 占空比 50%, 修改占空比必须暂时关闭定时器 TMR3_PWMEnable(); TMR3_Enable(); #endif