110,534
社区成员
发帖
与我相关
我的任务
分享
void abc()
{
SerialPort[] cAcomm = new SerialPort[8];
///////////////////////////////
for (int i = 0; i < 8; i++)
{
rASAllComm.cAcomm[i].DataReceived += rASDataReserve;
}
}
void rASDataReserve(object sender, SerialDataReceivedEventArgs e)//串口接受函数
{
// 就这里…… 这个函数 如何判断现在是哪儿个串口发来的数据……………………
int n = comRead.BytesToRead;//先记录下来,避免某种原因,人为的原因,操作几次之间时间长,缓存不一致
byte[] buf = new byte[n];//声明一个临时数组存储当前来的串口数据
comRead.Read(buf, 0, n);//读取缓冲数据
comReadbuilder.Clear();//清除字符串构造器的内容
comReadbuilder.Append(Encoding.ASCII.GetString(buf));
if ((comReadbuilder.ToString() != null && comReadbuilder.ToString().IndexOf(" V, ") <= -1))//&& comReadbuilder.ToString()!="")//如果成立了就是特殊字符
specialReadQueue.Enqueue(comReadbuilder.ToString());
else //if(comReadbuilder.ToString()!="")
commonReadQueue.Enqueue(comReadbuilder.ToString());
}