有程序解释最好,谢谢帮助哦! (51单片机串口发送)
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) //串口接收事件
{
int i = 1;
if (!radioButton3.Checked) //接收为字符模式
{
string str = serialPort1.ReadExisting(); //字符串方式读取
textBox9.AppendText(str);//添加内容
}
else //如果接收模式为数值模式
{
byte[] data = new byte[serialPort1.BytesToRead]; //定义缓冲区,因为串口事件触发时有可能收到不止一个字节
serialPort1.Read(data, 0, data.Length); //读取数据
foreach (byte Member in data) //遍历用法
{
string str = Convert.ToString(Member, 16).ToUpper();
textBox1.AppendText("0x" + (str.Length == 1 ? "0" + str : str) + " "); //文本框显示1
//上一句等同于 if(str.Length==1)
//str = '0' + str;
//else
//str = str;
//textBox1.AppendText("0x" + str);
}
}
}
我是用51单片机逐个字符发送的