readdatadelay.c

来自「以泓格7188为数据采集模块的RS485网络,由于所连接设备的产品性能或其他问题」· C语言 代码 · 共 22 行

C
22
字号
/****************************************************/
/* ReadDataDelay:读取串口nPort 中的数据,放入 */
/* bData 中,nDealy 为需要等待的节拍数 */
/****************************************************/
void ReadDataDelay(int nPort, unsigned char *bData, int nDelay)
{
  int nData=0; /*接收到的字节数*/
  int iCount=0; /*等待计时*/
  while(iCount < nDelay)
  {
    if(IsCom(nPort)==QueueIsNotEmpty) /*nPort 口有数据*/
    {
      nData++;
      bData[nData] = ReadCom(nPort); /*读取一个字节的数据*/
      iCount = 0; /*有数据,计时清零*/
    }
    else iCount++; /*没有数据,则等待计时*/
  }
  /*bData 数据中第一个字节地址存放收到的字节数,其余为字节内容*/
  bData[0] = nData;
  ClearCom(nPort); /*清除串口数据内容,为下次数据接收作准备*/
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?