0

我有一个疯狂的问题。我正在以以下格式从 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,那么我什么也得不到。

如果我尝试其他任何东西,它就会打印出来。

4

0 回答 0