void ServoOpen90(void) { sg90_status = 1; sg90_ir_timer = 10; TIM_SetCompare1(TIM1, 1840); //Õ¼¿Õ±È £¨2000-1850£©/2000 * 20mS=1.5mS }分析这段代码
时间: 2024-04-22 15:27:42 浏览: 32
关于获取服务器时间的代码
这段代码是用于控制一个SG90舵机的函数。其中,sg90_status变量表示舵机当前状态,sg90_ir_timer用于计时器控制,TIM_SetCompare1函数用于设置定时器TIM1的比较值,从而控制舵机转动角度。具体分析如下:
1. sg90_status = 1; 表示将舵机状态设置为1,表示舵机处于打开状态。
2. sg90_ir_timer = 10; 表示将计时器sg90_ir_timer设置为10,用于控制舵机打开的时间。
3. TIM_SetCompare1(TIM1, 1840); 表示设置TIM1的比较值为1840,这个值是根据舵机的PWM信号周期计算得出的。根据舵机规格,SG90舵机的PWM信号周期为20ms,其中1.5ms的高电平表示舵机的中间位置(90度),因此将舵机打开到90度的位置需要设置的比较值为(2000-1850)/2000 * 20ms = 1.5ms。
综上所述,这段代码的作用是将一个SG90舵机打开到90度的位置,并且保持打开状态10个计时器周期。
阅读全文