C# 串口通信 学习笔记

来源:互联网 发布:部落冲突骷髅法术 数据 编辑:程序博客网 时间:2024/06/06 20:28

1 程序集和命名空间

命名空间:System.IO.Ports  程序集:System(在 system.dll 中)

using System.Net.Sockets;using System.IO;using System.IO.Ports;

2 声明变量和初始化

//声明变量和初始化    SerialPort computerport;    string display_COM;    computerport = new SerialPort(display_COM, 9600, Parity.None, 8);    computerport.ReceivedBytesThreshold = 1;    computerport.Open();
3 发送信息

<pre name="code" class="csharp">//发送信息    byte[] sss = strToToHexByte(“89-9A-15-20-C0-55-12-A4”);    computerport.Write(sss, 0, sss.Length);    computerport.Close();    private static byte[] strToToHexByte(string hexString)    {        hexString = hexString.Replace("-", "");        if ((hexString.Length % 2) != 0)            hexString += " ";        byte[] returnBytes = new byte[hexString.Length / 2];        for (int i = 0; i < returnBytes.Length; i++)        {           // returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);            returnBytes[i] = byte.Parse(hexString.Substring(i * 2, 2), System.Globalization.NumberStyles.AllowHexSpecifier);        }        return returnBytes;    }



4 接收数据

//数据接收的事件computerport.DataReceived += new SerialDataReceivedEventHandler(computerport_DataReceived);        //在事件里输出接收的数据        void computerport_DataReceived(object sender, SerialDataReceivedEventArgs e)        {            SerialPort sp = sender as SerialPort;            string receive = sp.ReadExisting();            textBlock1.Text = receive;            Console.WriteLine(sp.ReadExisting());        }




0 0
原创粉丝点击