我有一个疯狂的问题。我正在以以下格式从 Arduino 上的接收器上的发射器读取数据: Start_Byte data%256 , data/256
这允许我发送一个 2 字节的 int。疯狂的是,除非我在收到代码并检查逗号后println -257,否则它不起作用,即使它只是打印 -257 它也不起作用。
#define START_BYTE 'J'
// Receives an int over the RF network
int recieveData(void){
int val; // Value of the int
//Wait for the data, then the Start_Byte
while(Serial.available() == 0);
while(Serial.read() != START_BYTE);
val = Serial.read();
char c = Serial.read();
val += Serial.read()*256;
if(c == ','){
Serial.println("************");
Serial.println(val);
}
Serial.println(-257);
return val;
}
这是我添加 -257 后得到的结果:
-257
-257
-257
-257
-257
-257
-257
-257
************
<Correct data>
-257
************
<Correct data>
-257
************
<Correct data>
-257
************
<Correct data>
-257
************
如果我不添加 -257,那么我什么也得不到。
如果我尝试其他任何东西,它就会打印出来。