C#应用程序部署问题的串口通信

时间:2014-03-03 12:36:40

标签: c# serial-port

我有一个应用程序,其中操作员通过其RFID进行每次操作的认证.RFID扫描仪连接到串行端口(COM1)。

我面临的问题是,我第一次尝试从串口读取数据时它正在按预期工作,第二次在病房它给我一个垃圾值,甚至我尝试设置相同但是然后它完全出乎意料。这是我的代码,请给我一个解决方案。

表单加载事件代码


   _serialPort = new SerialPort("COM1");

        _serialPort.BaudRate = 57600;
        _serialPort.DataBits = 8;
        _serialPort.Parity = Parity.Even;
        _serialPort.StopBits = StopBits.Two;
        _serialPort.Handshake = Handshake.None;
        _serialPort.Encoding = Encoding.GetEncoding("Windows-1252");

        _serialPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
        _serialPort.Open();

port_DataReceived事件

void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        try
        {

            char[] SerialPortHexChar = new char[48];
            _serialPort.Read(SerialPortHexChar, 0, 48);

            ValidateCard(SerialPortHexChar);//Here there is no reference of _serialPort object.
        }
        catch { }
    }

表格卸载

private void Window_Unloaded(object sender, RoutedEventArgs e)
    {
        try
        {
           if(_serialPort.IsOpen)
                _serialPort.Close();
           _serialPort.Dispose();
        }
        catch { }

    }

提前致谢...

0 个答案:

没有答案