繁体   English   中英

通过串口与 Arduino 通信不工作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM