背景:
十月份参加学校举办的Robomaster校内赛,使用sg90舵机驱动机械臂夹取小球。
遇到问题:
使用STM32单片机的定时器输出PWM来驱动舵机,一直无法使舵机运行起来,上网找了许多贴子一直没解决,一度怀疑自己的几个舵机都坏了。
契机:
发现LED闪烁周期比设定长了许久。
原因:
因为使用STM32C6T6最小系统板,库函数版本开发,启动文件使用正点原子的启动文件,152行~154行汇编代码被注释掉,造成系统时钟比设定大了10倍左右,PWM周期是原来的10倍,以致舵机驱动失败。
解决问题:
将启动文件152行~154行取消注释,即删去1行前的分号。
参考文章:STM32时钟延时不正确