将数组元素检查为null

时间:2016-08-02 05:52:47

标签: c arrays null element

此问题可能与此question或此question

重复

我正在使用C并尝试与处理串行通信的设备进行通信。我正在读取一个字节并将其存储在一个数组中,然后将数组元素检查到'\0'0x00)。如果它是'\0'那么这意味着数据现在不可用。

volatile int rxFlag = 0;
volatile int index = 0;

void function()             //event based function, whenever a byte is received
{
  Rx[index] = ReadUSART();     //reading a byte
  if(Rx[index] == '\0' )       //checking if its null 
  {
    rxFlag = 1;                //raise a flag

  }
  index++;                       //increment index
}

以下是Rx的屏幕截图:

enter image description here

在图片中,您可以看到Rx[0]-Rx[24]它包含数据但Rx[25]是空终结符(0x00),而rxFlag应设置为1。它没有设定。

检查数组元素是否为'\0'的另一种方法是什么。

1 个答案:

答案 0 :(得分:3)

分配rxFlag时会出现拼写错误。

rxFlag == 1;

应该是

rxFlag = 1;