中级会员
 
- 积分
- 210
- 金钱
- 210
- 注册时间
- 2017-11-1
- 在线时间
- 67 小时
|
本帖最后由 xinyuan123 于 2017-11-19 14:06 编辑
近期通过原子教程学习了PWM,在进行LED呼吸灯实验过程中挖了不少坑,自己也终于补上了(怪自己粗心大意)以PB0复用定时器TIM3_CH3为例:
配置过程中需要注意一下几点:
1、在配置定时器3外设时钟时,没看清函数名导致最后烧写到板子上的led一直亮。(花了好久才检查出来)
2、其实PWM配置还是蛮简单的,但是需要注意三个地方:
1、TIM_OC3Init(TIM3, &TIM_OCInitStruct); //定时器通道3初始化
2、TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能定时器上的预装载寄存器
3、TIM_SetCompare3(TIM3,led0pwmval);解释:函数1、2在pwm.c中,函数3在主函数中,因为端口配置的是TIM3_CH3,则需要改变以上的三个函数参数和函数名(见红色代表函数参数和黄色代表函数名)。
尤其是TIM_SetCompare3(TIM3,led0pwmval)函数最容易被忽视,如果没有配置,就会导致led一直处于熄灭状态。
完整程序见附件
|
|