|
void writeMotors() { // [1000;2000] => [125;250]
#if defined(MEGA)
for(uint8_t i=0;i<NUMBER_MOTOR;i++)
analogWrite(PWM_PIN, motor>>3);
#else
for(uint8_t i=0;i<min(NUMBER_MOTOR,4);i++)
analogWrite(PWM_PIN, motor>>3);
#if (NUMBER_MOTOR == 6)
atomicPWM_PIN5_highState = motor[5]/8;
atomicPWM_PIN5_lowState = 255-atomicPWM_PIN5_highState;
atomicPWM_PIN6_highState = motor[4]/8;
atomicPWM_PIN6_lowState = 255-atomicPWM_PIN6_highState;
#endif
#endif
}
这是mwc飞控中的电机输出代码,奇怪的是这里: analogWrite(PWM_PIN, motor>>3);这条语句的意思是第i个马达端口,按照motor的值(pid计算的值)右移三位(就是除8)pwm模式输出。可是这里的motor【i】除8以后最少还有125,就是说电调的最小油门是50%的pwm?最大油门是100%的pwm?电调的pwm不是在5%到15%之间吗?这个信号输出去电调怎么能工作呢?求各位达人解答:em17: |
欢迎继续阅读楼主其他信息
|