串口通信的参数如何设置

网友投稿 422 2022-11-17

串口通信的参数如何设置

RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。

1.波特率设置

2.数据位

#include //头文件定义

#include

#include 《 termios.h 》

……

struct termios opt; /*定义指向termios 结构类型的指针opt*/

。..。..。

//获得串口指向termios结构的指针

tcgetattr(fd, &Opt);

//屏蔽其他标志

Opt.c_cflag&=~CSIZE;

//将数据位修改为8bit

Opt.c_cflag |=CS8;

//将修改后的termios数据设置到串口中

……

3.奇偶校验位

奇偶校验可以选择偶校验、奇校验、空格等方式,也可以不使用校验。如果要设置为偶校验的话,首先要将termios结构体中c_cflag设置 PARENB标志,并清除PARODD标志。如果要设置奇校验,要同时设置termios结构体中c_cflag设置PARENB标志和PARODD标 志。如果不想使用任何校验的话,清除termios结构体中c_cflag的PARENB位。表6.12所示为设置奇偶校验的具体方法。

表6.12 设置奇偶校验位

设 置具 体 代 码

无校验opt.c_cflag &= ~PARENB;

奇校验opt.c_cflag |= (PARODD | PARENB);

偶校验opt.c_cflag &= ~ PARENB;

opt.c_cflag &= ~PARODD;

空格opt.c_cflag &= ~PARENB;

opt.c_cflag &= ~CSTOPB;

下面给出将串口通信的奇偶校验设置为偶校验的例子,具体代码如下:

#include //头文件定义

#include

#include 《 termios.h 》

……

struct termios opt; /*定义指向termios 结构类型的指针opt*/

……

//获得串口指向termios结构的指针

tcgetattr(fd, &Opt);

opt.c_cflag &= ~ PARENB;

opt.c_cflag &= ~PARODD;

//将修改后的termios数据设置到串口中

tcsetattr(fd,TCANOW,&Opt);

……

4.数据流控制

表6.13 数据流控制设置

设 置具 体 代 码

不使用数据流控制opt.c_cflag &= ~CRTSCTS

硬件opt.c_cflag |= CRTSCTS

软件opt.c_cflag | = IXON|IXOFF|IXANY

#include //头文件定义

#include

#include 《 termios.h 》

……

struct termios opt; /*定义指向termios 结构类型的指针opt*/

……

//获得串口指向termios结构的指针

tcgetattr(fd, &opt);

opt.c_cflag &= ~CRTSCTS…

//将修改后的termios数据设置到串口中

tcsetattr(fd,TCANOW,&Opt);

……

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JavaWeb 使用DBUtils实现增删改查方式
下一篇:第11章 关联容器【C++】
相关文章

 发表评论

暂时没有评论,来抢沙发吧~