日期:2014-05-17  浏览次数:21386 次

C#编写的串口读取,接收不到数据怎么回事
我用的是C#的,SerialPort控件来读取串口数据,用虚拟串口实验没问题了,但是我用单片机通过串口发送数据时,这就接不到了,可是我用串口助手就能读出来数据,有人知道这是怎么回事吗。
 private void ComPortReceive_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            int length = 0;
            string sssss = null;
            length = ComPortReceive.BytesToRead;
            if (length != 0)
            {
                //ComPortReceive.ReadTimeout = 10000;
                byte[] bytesData = new byte[length];
                for (int i = 0; i < length; i++)
                {
                    bytesData[i] = Convert.ToByte(ComPortReceive.ReadByte());
                    sssss = Convert.ToString(bytesData[i], 16).PadLeft(2, '0');
                    strReceive += sssss.PadRight(3, ' ').ToUpper();
                }
                strReceive = "Received Data:\t" + strReceive + "\r\n";
                textBox1.BeginInvoke(new InvokeDelegate(Display));
            }

        }
C# 串口 读取数据

------解决方案--------------------
给你几个帖子
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。 
C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
 C# 串口操作系列(3) -- 协议篇,二进制协议数据解析