【发布时间】:2015-03-19 21:52:16
【问题描述】:
(编者注。可能相关:SerialPort Class)
我正在尝试向 RFID 阅读器发送命令并接收“答案”。
例如,如果阅读器可以读取标签,port.Write("S") 和 port.ReadLine() 将收到 UID。
我正在像这样使用SerialDataReceivedEventHandler:
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
port.ReadLine();
}
这是我发送命令的地方:
public void sendData()
{
port.Write("S");
port.Write("r01");
port.Write("r02");
}
现在的问题是我只收到“S”的第一个答案,它不会发送所有 3 行。问题是我不知道如何将所有 3 个命令发送给阅读器。
如果我忽略SerialDataReceivedEventHandler我发现我可以使用这个代码:
public void sendandreceive()
{
port.Write("S");
port.ReadLine();
port.Write("r01");
port.ReadLine();
}
该代码将发送和接收命令和答案。但我读到使用SerialDataReceivedEventHandler 是个好主意。
【问题讨论】:
-
port.WriteLine("S");也许?
标签: c# serial-port