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