C# WPF 串口发送程序

来源:互联网 发布:吉林大学就业知乎 编辑:程序博客网 时间:2024/06/04 19:47

关于串口通信,之前用MFC架构的时候做过一次,也写了文章如下:
MFC RS232串口通信
最近的项目因为对于界面的美化要求高了很多,用MFC架构去美化界面是件要命的事,因此转而用了WPF架构。其中用到的串口通信部分自然也就只能重新研究下了。关于虚拟串口的工具还有串口调试工具,则用的还是原来MFC相关文章所提供的那两个,有需要的可以去那篇文章的下载链接中下载。
稍微研究了WPF架构的串口实现,万万没想到比MFC容易了不只一个数量级,简直就是直接拿来应用,无需费多少工夫,因此只是将实现的代码贴出来给大家参考:

public SerialPort serialPort;//串口对象类public MainWindow(){    InitializeComponent();    if (InitCOM("COM3"))    {        SendCommand("asdasdasd");//发送字符    }}/// 串口接收通信配置方法/// <param name="PortName">端口名称</param>public bool InitCOM(string PortName){    serialPort = new SerialPort(PortName, 9600, Parity.None, 8, StopBits.One);    serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);//DataReceived事件委托    serialPort.ReceivedBytesThreshold = 1;    serialPort.RtsEnable = true;    return OpenPort();//串口打开}/// 数据接收事件private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e){   // Thread.Sleep(2000);    byte[] readBuffer = new byte[serialPort.ReadBufferSize];    serialPort.Read(readBuffer, 0, readBuffer.Length);    string str = System.Text.Encoding.Default.GetString(readBuffer);    MessageBox.Show(str);}//打开串口的方法public bool OpenPort(){    try//这里写成异常处理的形式以免串口打不开程序崩溃    {        serialPort.Open();    }    catch { }    if (serialPort.IsOpen)    {        return  true;    }    else    {        MessageBox.Show("串口打开失败!");        return false;    }}//向串口发送数据public void SendCommand(string CommandString){    byte[] WriteBuffer = Encoding.ASCII.GetBytes(CommandString);    serialPort.Write(WriteBuffer, 0, WriteBuffer.Length);}
1 0
原创粉丝点击