2014-05-22 86 views
-1

連我都管理使用的代碼與一個控制檯應用程序通過USB端口連接到我的RFID裝置之下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應用程序?每當標籤在讀取範圍內時,應用程序應允許讀取多個標籤。

回答

1

請參考下面我的答案:

  1. 有可能使用一個控制檯應用程序
  2. 爲了看你需要訂閱DataReceived事件像

    的SerialPort mySerialPort數據讀取數據=新的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

我曾嘗試過,但即使我的RFID標籤靠近RFID設備 – Ping

0

你有什麼不COM計算機recognice讀者檢查。 開始 - 控制面板 - 設備管理 - 端口(COM和LPT)並將其更改爲Toan Nguyen的代碼。