如何在C#中连接到特定的RFID usb设备

时间:2012-10-27 17:36:35

标签: serial-port usbserial

我有一个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();
        }

我想检测此设备连接 然后等待从中接收数据。这是我第一次这样做。 我现在很困惑。 :(

1 个答案:

答案 0 :(得分:0)

您需要知道RFID设备何时发送数据。 如果您在发送数据之前阅读,那么您将无法获得任何数据。 如果你想对收到的数据进行处理,那么使用sp.read而不是sp.readLine,因为在read中你需要指定你想要读取的字节数。