极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10295|回复: 1

关于平衡小车的问题

[复制链接]
发表于 2015-10-19 15:47:15 | 显示全部楼层 |阅读模式
http://www.geek-workshop.com/for ... D%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变成整数,这样才能继续使用这个变量
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 02:59 , Processed in 0.038508 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表