[英]Communicating over Serial to an Arduino not working?
当我使用servo1.writeMicroseconds(1000);
伺服以全功率顺时针转动,用 1500 代替 1000 停止它,2000 使它逆时针转动 go。
Serial.write(val);
调试也给出了一个奇怪的答案,当我使用 1 的值时,开发板收到它为:
--> 49 --> 10
主板是 Arduino Mega 2560
#include <Servo.h>
Servo servo1;
int val = 1500;
void setup() {
servo1.attach(7);
servo1.writeMicroseconds(val);
Serial.begin(9600);
}
void loop(){
if(Serial.available()){
int val = Serial.read();
Serial.write(val);
servo1.writeMicroseconds(val);
}
}
不要使用Serial.write()
。 它用于写入字节。 而是使用Serial.println(...)
它将打印一行并处理多种输入类型。
另一个建议是不要只对整数使用Serial.read()
。 按照此处所述使用Serial.parseInt()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.