13982085569 发表于 2015-10-19 15:47:15

关于平衡小车的问题

在http://www.geek-workshop.com/forum.php?mod=viewthread&tid=9879&highlight=%C6%BD%BA%E2%D0%A1%B3%B5这个前辈的帖子里面我有些疑惑,有人看过这位前辈的帖子吗?能给我解释下下面这段代码吗?
void SetMotorVoltage(int nLeftVol, int nRightVol) {
    if(nLeftVol >=0)
{digitalWrite(M_left,LOW);
   digitalWrite(M_left2,HIGH);
   } else {      
   digitalWrite(M_left,HIGH);
   digitalWrite(M_left2,LOW);
   nLeftVol=-nLeftVol;
   }
    if(nRightVol >= 0) {
   digitalWrite(M_right,LOW);
   digitalWrite(M_right2,HIGH);
    } else {
   digitalWrite(M_right,HIGH);
   digitalWrite(M_right2,LOW);
    nRightVol=-nRightVol;
}
    if(nLeftVol>255) { nLeftVol = 255 ; }   //防止PWM值超过255
    if(nRightVol>255) { nRightVol = 255 ; }//防止PWM值超过255
    analogWrite(E_left,nLeftVol);
    analogWrite(E_right,nRightVol);
}
能给我解释下这段代码吗?特别是 nRightVol=-nRightVol;这里?
麻烦您们了

叶斌远行 发表于 2015-10-20 12:37:27

在nRightVol = -nRightVol 坐在的if else语句中,在条件nRightVol不满足大于或等于0时,才进入到这条语句的代码块里面,也就是说此事nRightVol此时时负数来的,这条语句的作用就是把nRightVol变成整数,这样才能继续使用这个变量
页: [1]
查看完整版本: 关于平衡小车的问题