C#串口通讯
2021-04-26 15:25
标签:== map name font 一个 串行通讯 波特 适用于 数组 前世所袭误者,可以自我更之;前世所未及者,可以自我创之。 前段时间,由于工作需要,要写一个PC测试软件(C#)来操作单片机完成测试功能,是基于串口通讯的。当时觉得很难,现在觉得还比较简单。 关于串口:百度词条上是这样解释的: 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。 串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线) 从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 下面说说我的实现步骤,希望对初学的朋友们有一点帮助: 1,实例化SerialPort对象用于打开串口 private static SerialPort myserailport = new SerialPort(); 2,初始化串口对象(就是给下面几个对象赋值) myserialport.PortName 端口号 myserialport.BaudRate 波特率 myserialport.DataBits 数据位 myserialport.StopBits 停止位 myserialport.Parity 奇偶校验位 一般情况下有波特率和端口号就可以了 获得本机所有端口号的方法: RegistryKey keyCom = Registry.LocalMachine.OpenSubKey("Hardware\\DeviceMap\\SerialComm"); Registry对象提供了windows注册表中的根键的对象 OpenSubKey以只读的形式检索子项 string comm[] = keyCom.GetValueNames(); // 检索包含与此项关联的所有值名称的字符串数组。 foreach(string cm in comm ){ //遍历端口键 string [] Value = keyCom.GetValue(cm); Value数组里面就是所有的端口名称 } 波特率自己设 一般有 300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200 这些值 myserialport.PortName = Value[0]; myserialport.BaudRate = 115200; myserialport.Open(); 判断 if(myserialpoer.isOpen == true){MessageBox.Show("端口已经打开","lili提示")} 关闭 myserialport.Close(); 发送 myserialport.WriteLine(string str); 接收 myserialport.ReadLine(); C#串口通讯 标签:== map name font 一个 串行通讯 波特 适用于 数组 原文地址:http://www.cnblogs.com/liliyangluck/p/7891908.html年轻的我们,加油,抵制诱惑!
上一篇:小众却超实用网站推荐