现在写一个读取串口数据的问题,以前没有用到这方面的问题,不知道该怎么办,请高手指点下,或给点思路.谢谢,(本人分不多,不过还得请大家帮忙)
从串口中读20个字符作为一个学生的餐卡号,然后根据这个餐卡号去查找相关信息.
读串口这块我觉得应该采用同步阻塞的方式,以下是读串口的代码,浪费大家一点时间了.        //初始化
        private void InitComm()
        {        
            serialPort1 = new SerialPort();
            //更改参数
            serialPort1.PortName = "COM2";
            serialPort1.Open();            //开启接收数据线程
            ReceiveData(serialPort1);
        }        /// <summary>
        /// 开启接收数据线程
        /// </summary>
        private void ReceiveData(SerialPort serialPort)
        {
            //同步阻塞接收数据线程
            Thread threadReceive = new Thread(new ParameterizedThreadStart(SynReceiveData));
            threadReceive.IsBackground = true;
            threadReceive.Start(serialPort);         }        private void SynReceiveData(object serialPortobj)
        {
            SerialPort serialPort = (SerialPort)serialPortobj;
            System.Threading.Thread.Sleep(0);
            //serialPort.ReadTimeout = 1000;
            try
            {
                string cardId = serialPort.ReadLine();
                MessageBox.Show(cardId);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                //处理超时错误
            }
            ReceiveData(serialPort);        }不知道这样写行不行.
我现在是在串口模拟器上测试的,接收的时候,每次第一次开始接收都会接到一个字符'a',不知道什么原因.
请高手指点,感激不尽!谢谢大家!