C#串口通信代码(c#串口通讯 博客园)
C#串口通信代码(c#串口通讯 博客园),新营销网红网本栏目通过数据整理汇集了C#串口通信代码(c#串口通讯 博客园)相关信息,下面一起看看。
串行通信简介串行接口(serial port)是一种能将从CPU接收到的并行数据字符转换成连续的串行数据流并发送出去,又能将接收到的串行数据流转换成并行数据字符并提供给CPU的设备。通常,执行该功能的电路被称为串行接口电路。
串行通信的概念非常简单。串行通信以位为单位发送和接收字节。虽然比逐字节并行通信慢,但串口可以用一条线发送数据,用另一条线接收数据。串行通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个通信端口,这些参数必须匹配。
1.波特率这是一个衡量符号传输速率的参数。是指信号调制后单位时间内的变化,即单位时间内载波参数变化的次数。例如,每秒传输960个字符,每个字符格式包含10位(1个起始位、1个停止位和8个数据位)。此时波特率为960Bd,比特率为10比特960比特每秒=9600bps。
2.数据位这是一个衡量通信中实际数据位的参数。计算机发送一个包,实际数据往往不是8位,标准值是6、7、8位。标准ASCII码为0 ~ 127 (7位),扩展ASCII码为0 ~ 255 (8位)。
3.停止位用于指示单个数据包的几位。的典型值为1、1.5和2位。因为数据是在传输线上计时的,每个设备都有自己的时钟,所以在通信中两个设备之间很可能会有一点不同步。,停止位不仅表示传输的结束,还为计算机提供了纠正时钟同步的机会。
4.校验位串行通信中一种简单的错误检测方法。有四种错误检测方法偶数、奇数、高和低。,没有校验位也可以。
二、C#的串行编程类从。NET Framework 2.0,C#提供了SerialPort类来实现串口控制。命名空间System。关于成员的详细信息,请参考MSDN文件。下面描述了它的常用字段和事件。
1.公共字段名称描述端口名称获取或设置通信端口波特率获取或设置串行波特率数据比特获取或设置每个字节的标准数据比特长度奇偶校验获取或设置奇偶校验协议停止比特获取或设置每个字节的标准停止比特2。common: name description Close关闭端口连接,将IsOpen属性设置为false,释放内部流对象GetPortNames以获取当前计算机的SerialPort名称数组。打开一个新的串行端口连接。从串行端口输入缓冲器读取数据,并将数据写入串行端口输出缓冲器。3.常见事件名称描述DataReceived表示串口对象的数据接收事件将被处理。三。C#开发串口实例前台页面
背景代码
使用系统;使用系统。IO .端口;使用系统。文本;使用系统。Windows . Forms命名空间serial port { public partial class serial port : Form { String serial port name;public serial port(){ initialize component();} private void form 1 _ Load(object sender,EventArgs e){ string[]ports=System。IO . ports . serial port . get port names();//获取串口号comboBox1。计算机上可用的Items.AddRange(端口);//添加数据到combobox 1 combobox 1 . selectedindex=combobox 1 . items . count 0?0 : -1;//如果里面有数据,显示第0个comboBox2。Text= 115200/默认波特率是115200/comboBox3。Text= 1/默认停止位1/comboBox4。Text= 8/默认数据位8/comboBox5。Text= none/默认校验位 None