前序:认真学习C#的串口软件。帖子即作为自己的读写笔记,也作为交流学习的园地。请高手不吝赐教!
C#建立工程WinForm网上有很多了,都是跟着一步步跟着做的。直接说怎么配置串口吧!
看到别人分享的帖子,最主要还是SerialPort的使用。
private SerialPort MyCom = new SerialPort();
后续都是针对变量MyCom编写的。
最简单界面,一个打开串口,一个接受串口数据的文本框。
第一步走的很简单,没有华丽的界面,直接就是串口的直接配置。
代码很简答,打开串口和配置。
private void OpenMyCom()
{
if (!MyCom.IsOpen)
{
try
{
//设置串口号
string serialName = "COM8";
MyCom.PortName = serialName;
//设置各“串口设置”
string strBaudRate = "115200";
string strDateBits = "8";
Int32 iBaudRate = Convert.ToInt32(strBaudRate);
Int32 iDateBits = Convert.ToInt32(strDateBits);
MyCom.BaudRate = iBaudRate; //波特率
MyCom.DataBits = iDateBits; //数据位
MyCom.StopBits = StopBits.One;//停止位
MyCom.Parity = Parity.None;
if (MyCom.IsOpen == true)//如果打开状态,则先关闭一下
{
MyCom.Close();
}
MyCom.Open(); //打开串口
}
catch (System.Exception e)
{
MessageBox.Show("Error:" + e.Message, "Error");
return;
}
}
else
{
MyCom.Close(); //关闭串口
btn_OpenCom.Text = "打开串口";
}
}
然后关联接收事件。MyCom.DataReceived += MyCom_DataReceived;
这是接收事件 :
private void MyCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (MyCom.IsOpen)
{
Byte[] receivedData = new Byte[MyCom.BytesToRead]; //创建接收字节数组
MyCom.Read(receivedData, 0, receivedData.Length); //读取数据
txt_DataRecv.Text = txt_DataRecv.Text + (new UTF8Encoding().GetString(receivedData));
}
else
{
MessageBox.Show("Open SerialPort Plseas!");
}
}
最后来个效果图:
华丽的界面也在一步步的学习中,多多指教。
|