我正在尝试创建一个可以打开和关闭其中一个Arduinos端口的模式。然而,在大约2次开/关之后它会被卡住并且不会关闭,除非我拔掉Arduino。我尝试了很多解决方案,例如在向端口发送电源后尝试将int设置为0。这是我的服务器端和arduino端的代码:
Arduino代码:
int Relay = 13;
//The pin that the relay is attached to
//int time;
//Creates temp variable
void setup() {
Serial.begin(9600);
pinMode(Relay, OUTPUT);
}
void loop() {
while(true) {
//Check if data has been sent from the computer:
if (Serial.available()) {
int time;
//Assign serial value to temp
time = Serial.parseInt();
//Output value to relay
delay(1000);
digitalWrite(Relay, HIGH);
delay(time);
digitalWrite(Relay, LOW);
}
}
}
服务器代码:
for(int i = 0; i < 11; i++) {
out.write("10000".getBytes("UTF-8"));
out.flush();
Thread.sleep(1500);
}
如果有人发现任何错误或看到解决方案,请告诉我。
谢谢:)
答案 0 :(得分:0)
我刚刚意识到我做错了什么。在这段代码中:
out.write("10000".getBytes("UTF-8"));
out.flush();
Thread.sleep(1500);
我期待它等待10秒,直到它发出另一个信号,但它发送了out.write("10000".getBytes("UTF-8"));
每1.5秒,造成一些问题。为了解决这个问题,我改变了
Thread.sleep(1500);
到
Thread.sleep(11500);
谢谢:)