定时器溢出时间计算公式:
Tout为要定的时间,PSC为预分频,ARR为自动重装载值,Tclk为系统频率。
定时器中断实验:每500ms翻转一次LED1灯状态
PWM:
其中CCRx为TIMx_CCRx寄存器,用于与CNT的比较。
PWM实验:使用PWM点亮LED1实现呼吸灯效果。
LED1连接的是定时器4的第三路(TIM4_CH3)
修改比较值和占空比中的函数在while函数中,作用是动态修改
sg90舵机控制:
计算代码中CCRx的值例如0度的时候在一个周期20ms内高电平为0.5ms,那么0.5/20 = CCRx/200,200的值为ARR(0~199共200个数),计算得CCRx为5,其余角度以此类推。
在初始化定时器4后,需要启动PWM(定时器4,通道3),然后利用__HAL_TIM_SetCompare()函数改变CCRx寄存器的值。