c# 串口操作相关问题求教
//单开线程进行:串口读数据 并添加添加到队列sqdata
while(true){
Thread.sleep(30);
byte[] RecieveData = new byte[sp.BytesToRead];
sp.Read(RecieveData, 0, RecieveData.Length); //串口读数据
int lenth = RecieveData.Length;
if (lenth >= 160)
{
// recvdata.AddRange(RecieveData);
lock (sqdata)
{
sqdata.Enqueue(RecieveData);
}
}
}
另开一线程 间隔30ms 进行如下操作,
byte[] ttemp = null;
lock (sqdata)
{
t1 = sqdata.Count;
if (t1 > 0)
{
ttemp = sqdata.Dequeue();
}
}
sqata是队列:串口循环读的数并添加到队列, 为什么 我单步 ttemp数组 就有数,一直接运行,ttemp数组就一直没数 。
直接运行,ttemp一直没有数据