使用C#USB RFID读取标签通过串口连接

问题描述 投票:-1回答:2

我已经管理使用下面的代码通过与控制台应用程序的USB端口连接到我的RFID设备

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Net.Sockets;
    using System.IO.Ports;
    using System.Threading;
    using System.Windows.Forms;
    using Gtk;

    namespace Testing1
    {
        public class Testing1
        {
            public static SerialPort iSerialPort = new SerialPort();

            static int Main() 
            {
                string strException = string.Empty;
            string strComPort = "COM17";
                int nBaudrate=Convert.ToInt32(9600);

                int nRet = OpenCom(strComPort, nBaudrate, out strException);
                if (nRet != 0)
                {
                    string strLog = "Connect reader failed, due to: " + strException; 
                    Console.WriteLine(strLog);
                    //return;
                }
                else
                {
                    string strLog = "Reader connected " + strComPort + "@" + nBaudrate.ToString();
                    Console.WriteLine(strLog);
                }

                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();

                iSerialPort.Close();
                return 0;
            }

            public static int OpenCom(string strPort, int nBaudrate, out string strException)
            {

                strException = string.Empty;

                if (iSerialPort.IsOpen)
                {
                    iSerialPort.Close();
                }

                try
                {
                    iSerialPort.PortName = strPort;
                    iSerialPort.BaudRate = nBaudrate;
                    iSerialPort.ReadTimeout = 3000;
                    iSerialPort.DataBits = 8;
                    iSerialPort.Parity = Parity.None;
                    iSerialPort.StopBits = StopBits.One;
                    iSerialPort.Open();
                }
                catch (System.Exception ex)
                {
                    strException = ex.Message;
                    return -1;
                }



                return 0;
            }
        }
    }

不过,现在我想从RFID标签读取数据。是否可以通过控制台应用程序?还是我必须有一个正常的GUI应用程序?应用程序应该允许多个标签每次读取标签是读取范围内。

c# rfid
2个回答
1
投票

请看下面我的答案:

  1. 这是可能使用控制台应用程序读取数据
  2. 为了读取数据,您需要订阅DataReceived事件检索象下面这样: SerialPort mySerialPort = new SerialPort("COM1"); mySerialPort.BaudRate = 9600; mySerialPort.Parity = Parity.None; mySerialPort.StopBits = StopBits.One; mySerialPort.DataBits = 8; mySerialPort.Handshake = Handshake.None; mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); mySerialPort.Open();

更多信息请点击这里:

http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived(v=vs.110).aspx


0
投票

你有什么不COM您的计算机识别阅读器进行检查。开始 - 控制面板 - 设备管理 - 端口(COM和LPT),并改变它在全胜阮的代码。

© www.soinside.com 2019 - 2024. All rights reserved.