读取rfid读取器的数据时不会触发数据接收事件 [英] Data receved event not fire at read the data of rfid reader

查看:80
本文介绍了读取rfid读取器的数据时不会触发数据接收事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用下面的代码读取RFID阅读器的数据.

我有问题,

I used the bellow code for reading the data of RFID reader.

I have a problem,

serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);



这不称为sp_dataReceived事件.
但是数据正在进入COM端口.我在超级终端上进行了测试.

有人请告诉我原因.



This is not call the sp_dataReceived event.
But data is coming to com port. I tested in hyper terminal.

Any one please tell me the reason.

       SerialPort serialPort;
        private void btnGetACNo_Click(object sender, EventArgs e)
        {
            serialPort = new SerialPort();

           serialPort.PortName = "COM1";
            serialPort.BaudRate = 9600;
            serialPort.DataBits = 8;
            serialPort.Parity = Parity.None;
            serialPort.StopBits = StopBits.One;

            //serialPort.Handshake = Handshake.None;
            serialPort.Open();
           // Thread.Sleep(500);
            //string data1 = serialPort.ReadLine();
            serialPort1.ReadTimeout = 2000;
            serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);

            //sp_DataReceived(this , null);
            serialPort.Close();
        }
        string data = string.Empty;
        private delegate void SetTextDeleg(string text);
        void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            Thread.Sleep(500);
            data = serialPort.ReadLine();
            //data = serialPort.ReadExisting();
            this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[ ] { data });

        }
        private void si_DataReceived(string data)
        {
            txtAccessCardNo.Text = data.Trim();
        }
    }
}

推荐答案

serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);

//sp_DataReceived(this , null);
serialPort.Close();

关闭串行端口时,如何期望它获取任何数据?
完成或在程序结束时将其关闭.

如果在此之前关闭它,则不会通过它接收任何数据!

When you close the serial port, how do you expect it to get any data?
Close it when you are finished, or at the end of your program.

If you close it before that, you will not receive any data through it!


这篇关于读取rfid读取器的数据时不会触发数据接收事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆