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) -- 协议篇,二进制协议数据解析