道歉,如果我的' lingo'没有意义......我对这个和编码很新!
我正在开展一个涉及RFID阅读器和蓝牙模块与C#窗体通信的项目。
com端口事件处理程序连续发送RFID标记的唯一ID。它有没有办法只发送一次?
程序是否有办法只接收一次ID,因此可以处理;而不是多次收到身份证。
提前致谢! :)
到目前为止我的代码如下。
我从其他地方打开串口
private void port_DataRecieved(object sender, System.IO.Ports.SerialDataRecievedEventArgs e)
{
string data = serialPort.ReadExisting(); // read what came from the RFID reader
if (data.Length > 9) // check if the string if bigger than 9 characters
{
CODE = data.Substring(0, 9); // if string is bigger than 9 characters trim the ending characters until it is only 9 long
}
else
{
CODE = data; // if less that 9 characters use however many it gets
}
}
答案 0 :(得分:-1)
不要使用ReadExisting
。而是检查是否还有9个字节。
如果没有,请立即返回。
如果是,请只读9并留下其他人参加下一次活动。
你可能也应该有一些重新同步逻辑。
此外,收到的数据需要是byte[]
,而不是字符串。 Microsoft提供的串口类总是会导致人们使用错误的方法。