linux系统中如何设置串口属性linux教程

linux系统中如何设置串口属性linux教程
linux下的串口设置,包括波特率,数据位数,停止位的数目,等串行口设置主要是设置struct termios结构成员的价值。接下来,小编给你的Linux下的串口设置详细介绍
串行通信是指利用传输线来传输数据的序列,其特点是通信线路简单。使用简单的电缆可以实现通信,降低成本。它适用于远程通讯,但慢传输应用。常用的串行端口RS-232-C接口(全称是DTE)和数据通讯设备(DCE),串行二进制数据交换接口技术标准。
设置串行属性的基本流程:
1。保存原始串口配置
为了安全起见,调试程序的方便,原来的串行端口的配置可以被保存,使用函数tcgetattr(FD,oldtio)。这个函数获取与FD指向对象相关的参数并将其保存在lodtio参考termios结构。这一功能可以测试是否配置是正确的,串行端口可用,等等。调试成功,函数返回0,失败返回1。
如果(tcgetattr(FD,oldtio)!= 0)
{
perror(setupserial 1);
返回- 1;
}
2。激活选项clocal和信用
clocal和信用是用于本地连接和验收启用,这两个选项的位掩码的活性。
newtio.c_cflag clocal信用| | =;
三.设置波特率
设置波特率的功能主要cfsetispeed和cfsetospeed。
Cfsetispeed(newtio,b115200);
Cfsetospeed(newtio,b115200);
一般用户需要设置输入和输出函数的波特率,当它们成功并失败1时,这些函数返回0。
4。设置字体大小
没有可用的功能,需要一个位掩码。通常,删除数据位中的位掩码,然后根据需要重置。
options.c_cflag = ~ csize; / *掩码字符大小位* /
options.c_cflag CS8 | =;
5。设置奇偶校验位
在c_cflag的检查点的激活使parenb标明是否校验是必需的,在c_iflag校验也被激活。在一个奇怪的检查的情况下,代码如下:
newtio.c_cflag parenb | =;
newtio.c_cflag | = parodd;
newtio.c_iflag | =(inpck iStrip |);
奇偶校验码如下所示:
newtio.c_iflag | =(inpck iStrip |);
newtio.c_cflag parenb | =;
newtio.c_cflag = ~ parood;
6。设置停止位
在c_cflag.if停止位1激活cstopb,清除的cstopb和cstopb是如果停止位0激活。以下是代码的停止位为1时:
newtio.c_cflag = ~ cstopb;
7。设置最小字符和等待时间
对接收字符和等待时间没有特殊要求时,可以设置为0:
newtio。c_cc {五} = 0;
newtio。c_cc { Vmin } = 0;
8。处理要写入的引用对象。
在串行端口复位,参考对象是之前写的再加工。调用函数tcflush(FD,queue_selector)是用来处理对象写参考,发送或接收但不读取数据,处理方法取决于该queue_selector价值。
queue_selector可能值:
TCIFLUSH:刷新收到的数据但不读
TCOFLUSH:刷新写入的数据但是不发送
TCIOLFLUSH:刷新收到的数据在同一时间没有阅读,并刷新写入的数据,而不把它
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部