arduino串口输入速度值 电机不转
arduino串口输入速度值,如输入“20”,电机不转。但是输入“-20”就转,这是咋回事啊???这咋还有负的呢??????程序如下:
int in1=6;
int in2=5;
String comdata = "";
int speed = 0;
void setup()
{
Serial.begin(9600);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
}
void loop()
{
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
if (comdata.length() > 0)
{
speed = comdata.toInt();
//speed = speed - 255;
digitalWrite(in1,LOW);
analogWrite(in2,speed);
Serial.println(comdata);
comdata = "";
}
}
请各位高手指点!!!!!!!!!!!!!!! if (comdata.length() > 0) 應改為
if (comdata.length() > 2) eddiewwm 发表于 2014-2-14 22:44 static/image/common/back.gif
if (comdata.length() > 0) 應改為
if (comdata.length() > 2)
为什么大于2呢?这和我输入负数有影响吗?? 按理,用 2 是要容許三位的數字輸入,若用 0 就祇能容許一位數字的輸入。
為何原程序使用 0呢? eddiewwm 发表于 2014-2-15 16:08 static/image/common/back.gif
按理,用 2 是要容許三位的數字輸入,若用 0 就祇能容許一位數字的輸入。
為何原程序使用 0呢?
我试了下,改为2还是不行。输入“20”还是不转,输入“-20”可以转还是原来的问题 本帖最后由 ab0298 于 2014-2-15 20:51 编辑
高手请指教!!!{:soso_e135:} {:soso_e118:} 應輸入三位數字,由 000 到 255,即有 256步,小數值時能否起動,就要看電機本身的性能了。若有興趣,也可試試超過255的數值,就會有進一步的發現,努力! eddiewwm 发表于 2014-2-16 16:45 static/image/common/back.gif
應輸入三位數字,由 000 到 255,即有 256步,小數值時能否起動,就要看電機本身的性能了。若有興趣,也可試 ...
好的 我试试去 多谢您的指点
页:
[1]