Linux下的串口编程常用接口笔记


开头先记几个资料网站

linux 在线源码查看:

  https://elixir.bootlin.com

linux man手册查看:

  https://linux.die.net/man/

确认DTE设备与DCE设备的连线方式

  终端一般是作为DTE设备

②串口文件操作

  文件基本操作

  open

  read 

  write

③串口文件操作

 结构体中的参数用来设置波特率、停止位、控制流等基本属性

       cfsetspeed(&NewTermios, B115200);

  tcsetattr(fd, TCSANOW, &NewTermios);

      里面参数可看上面提到网站中的man手册

④串口线状态获取

# define TIOCM_DTR	0x002
# define TIOCM_RTS	0x004
# define TIOCM_ST	0x008
# define TIOCM_SR	0x010
# define TIOCM_CTS	0x020
# define TIOCM_CAR	0x040
# define TIOCM_RNG	0x080
# define TIOCM_DSR	0x100
# define TIOCM_CD	TIOCM_CAR
# define TIOCM_RI TIOCM_RNG
以上
是linux源码中找到的,使用方式也可利用前面提到的网站去找。

   简单使用

  int fd,lineState;

  ioctl(fd, TIOCMGET, &lineState); //获取所有信号线状态

  lineState & TIOCM_CD    //判断CD线状态

⑤串口线状态设置

  lineState |= TIOCM_RTS;

  ioctl(this->fd, TIOCMGET, &lineState); // 设置所有信号线状态

相关