我有一个RFID设备,它通过USB(串行端口或com)连接到PC并发送数据如何获得连接的端口的名称?我该如何获取数据?(它以十六进制格式发送16个字节)
我在C#中写了此代码,但是它不起作用!
var sp = new SerialPort(device_names.Last<string>(), 4800);
try
{
sp.Open();
string received = sp.ReadLine();
while (received.CompareTo(null) == 0)
{
Console.WriteLine("nothing received yet!");
}
if (received.CompareTo(null)!=0)
{
Console.WriteLine("device connected to: " + device_names.Last<string>()+"reading "+ received);
}
}
catch
{
Console.WriteLine("device NOT connected to: " + device_names.Last<string>());
}
finally
{
sp.Close();
}
我想检测此设备连接然后等待从中接收数据。这是我第一次这样做。我现在很困惑。:(
您需要知道RFID设备何时发送数据。如果您在发送数据之前的读数,则您将无法获取任何数据。而且,如果您想对接收到的数据进行处理,请使用sp.read而不是sp.readline,因为在读取中,您需要指定要读取的字节。