0

USB(シリアルポートまたはCOM)経由でPCに接続し、データを送信するRFIDデバイスを持っていますが、接続したポートの名前を取得するにはどうすればよいですか? どうすればそのデータを取得できますか? (16 バイトを 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();
        }

このデバイス接続を検出し、そこからデータを受信するのを待ちたいと思います。私がそれをするのは初めてです。私は今とても混乱しています。:(

4

1 に答える 1

0

RFID デバイスがいつデータを送信するかを知る必要があります。データが送信される前に読み取った場合、データは取得されません。受信したデータに対して処理を実行する場合は、sp.readLine の代わりに sp.read を使用します。読み取りでは、読み取りたいバイト数を指定する必要があるためです。

于 2012-10-28T09:10:10.400 に答える