无法解释的arduino bug

时间:2013-07-03 04:40:52

标签: arduino radio

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

如果我尝试其他任何事情,那么它就会打印出来。

0 个答案:

没有答案