串口即串行接口(serial port)
标准串口协议支持的最高数据传输率为115kbps
硬件流量控制(RTS/CTS和DTR/CTS)
RTS/CTS:
当接收端数据超过缓冲区高位标志后,串口控制器把CTS信号线设置为低电平,表示停止数据发送;
当接收端数据缓冲区处理到低位以下,串口控制器设置CTS为高电平,表示可以开始数据发送。数据接收端RTS信号表示是否准备好接收数据。
软件流量控制(XON/OFF)
XON/OFF:
当接收端数据流量超过高位时,接收端向发送端发出XOFF字符(通常为十进制19),表示停止数据发送;
当接收端数据缓冲数据低于低位时,接收端向发送端发出XOFF字符(通常为十进制17)表示开始数据传输。
串口操作与文件操作相似,可以使用open、close
等函数来打开关闭串口。使用select()
函数监听串口。串口是个硬件设备可以设置串口属性。
Linux中通常使用termios
结构存储串口参数
Struct termios{
unsigned short c_iflag; /* 输入模式标志*/
unsigned short c_oflag; /* 输出模式标志*/
unsigned short c_cflag; /* 控制模式标志*/
unsigned short c_lflag; /*区域模式标志或本地模式标志或局部模式*/