但传送速度较慢

时间:2021-11-06 07:51:59

前世所袭误者,可以自我更之;前世所未及者,可以自我创之。

前段时间,由于事情需要,要写一个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();

年轻的我们,加油,抵抗诱惑!