串口的输入输出缓冲区是否为同一块区域?
串口的输入、输出缓冲区是否为同一块区域?
// 同步发送,并且返回接收数据
void PLC104Driver::SendMessage(const boost::shared_array<BYTE> sendDatas, boost::shared_array<BYTE> receDatas)
{
do
{ if(IsConnected()) //计算PLC;
do
{
plcrs232.mSend(sendDatas);//发送消息
receDatas=plcrs232.mReceive();//接收消息
}
while (!receDatas);
}
while(receDatas);
}
上面这段代码有没有问题?其中sendDatas是要发送的数据,receDatas用于保存接收到的数据(下位机返回的信息)。