linux 串口函数,linux串口操作函数

  • Post author:
  • Post category:linux


1.打开串口:

fd = open(“/dev/ttyf1”, O_RDWR | O_NOCTTY | O_NDELAY);

fcntl(fd, F_SETFL, 0);

O_NOCTTY  选项防止程序受键盘控制中止操作键等影响.

O_NDELAY  告诉 UNIX 不必另一端端口是否启用.(检测 DCD信号线状态)

2.往串口发送数据

n = write(fd, “ATZ\r”, 4);

3.从串口读取数据

当以原始数据模式(raw data mode)打开串口时,read 系统调用将不管串口输入缓存里有

多少字符可读都返回.若没有数据,则阻塞直至有字符到来,或定时器超时.

串口设置这个选项后,read 调用都是立即返回.没有数据可读时,read 返回 0

fcntl(fd, F_SETFL, FNDELAY);

解除这个功能是

fcntl(fd, F_SETFL, 0);

4.关闭串口

close(fd);

二.标准的 POSIX 配置串口参数

串口收发数据主要是要做好端口配置工作,需要包含,定义终端控制结构以及

POSIX 控制函数

termios结构

Table 3 – Termios Structure Members

Member  Description

c_cflag  Control options

c_lflag  Line options

c_iflag  Input options

c_oflag  Output options

c_cc  Control characters

c_ispeed  Input baud (new interface