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