簡體   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