我有一个疯狂的问题。我正在以下列格式从Arduino接收器上的发送器读取数据:Start_Byte data%256,data / 256
这允许我发送一个2字节的int。疯狂的是,除非我在之后打印-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,那么我什么也得不到。
如果我尝试其他任何事情,那么它就会打印出来。