我有一个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();
}
我想检测此设备连接 然后等待从中接收数据。这是我第一次这样做。 我现在很困惑。 :(
答案 0 :(得分:0)
您需要知道RFID设备何时发送数据。 如果您在发送数据之前阅读,那么您将无法获得任何数据。 如果你想对收到的数据进行处理,那么使用sp.read而不是sp.readLine,因为在read中你需要指定你想要读取的字节数。