Linux系统下串口通讯编程

本文介绍了在Linux系统下进行串口通信编程时如何设置串口参数,包括波特率、数据位、奇偶校验位和停止位。通过示例代码详细解释了termio结构体的使用,如cfsetispeed、cfsetospeed等函数的调用,以及如何进行数据位、奇偶校验和停止位的配置。最后,文章提到了串口的打开、读写操作和状态恢复的方法。
摘要由CSDN通过智能技术生成
设置串口通信参数
串口通信参数指的是波特率、数据位、奇偶校验位和停止位。对串口实现控制的时候同样要用到termio结构体。
下面将结合具体的代码说明如何设置这些参数。
termio结构体如下:
  struct termino
 {
     tcflag_t c_iflag;      /* input modes */
     tcflag_t c_oflag;      /* output modes */
     tcflag_t c_cflag;      /* control modes */
     tcflag_t c_lflag;      /* local modes */
     cc_t     c_cc[NCCS];   /* control chars */
 };

1.波特率设置
获得端口波特率信息是通过cfgetispeed函数和cfgetospeed函数来实现的。cfgetispeed函数用于获得结构体
termios_p中的输入波特率信息,而cfgetospeed函数用于获得结构体termios_p中的输出波特率信息。函数原型如下:
    int tcgetattr(int fd, struct termios *termios_p);
    int tcsetattr(int fd, int optional_actions,const struct termios *termios_p);
                                    ----需要包含termios.h、unistd.h

函数cfsetispeed、cfsetospeed用于设置端口的输入/输出波特率。一般情况下,输入和输出波特率是相等的。
函数原型如下:
       int cfse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值