| 
				 3.5 从串口读取数据函数ReadCom 
ReadCom函数从给定串口读取一个字节的数据,如ReadCom (COM1),其源代码如下。 
byte ReadCom (int port) { 
    unsigned int nRet; 
    nRet = bioscom (2, 0, port);  /*从端口读取一个字节*/ 
    return (byte)(nRet & 0xff); 
} 
该函数与IsCom函数配套使用,即IsCom返回QueueIsNotEmpty时,就使用ReadCom读取该字节。 
  
3.6 通用数据发送函数SendData 
以上函数可以方便地初始化串行接口,进行单字节的发送和接收。但是,在实际的计算机监控系统中,数据是以若干字节组成的协议为单位进行收发的,因而,设计通用和可靠的串口通信协议的发送与接收函数,可以大大节省系统开发时间,这也是计算机监控系统中的关键技术。本文设计了一个通用串口数据发送函数SendData,可以从指定的串口nPort发送字节数组ComData,其中,下标为0的字节表示该字节数组的长度,其它为待发送的字节,其源代码如下。 
void SendData(int nPort, byte *ComData) 
{ 
    int nlength, i; 
    nlength = ComData[0];  /*取字节数组的长度*/ 
    for(i=0; i<nlength; i++) ToCom(nPort, ComData[i+1]); 
} 
SendData函数首先取得字节数组的长度,然后,在for循环中调用ToCom函数,逐个发送字节。 			
				 |