(編者按可能相關: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」);''也許? – leppie 2012-08-09 20:48:25