open(USAR1, O_RDWR | O_NOCTTY | O_NDELAY | O_NONBLOCK);//非阻塞式读写 打开后使用fcntl修改设置 fcntl(socket_descriptor, F_SETFL, flags | O_NONBLOCK); //设为非阻塞 O_NONBLOCK和O_NDELAY都是设置为非阻塞模式,但是它们有些差别,O_NDELAY会使I/O函式马上返回0,但是又衍生出一个问题,因为读取...
主机1串口转TCP端口: sudo socat tcp-l:54321,reuseaddr,fork file:/dev/pts/6,waitlock=/var/run/ttypts.lock,clocal=1,cs8,nonblock=1,ixoff=0,ixon=0,ispeed=9600,ospeed=9600,raw,echo=0,crtscts=0 主机2将TCP端口转虚拟串口: sudo socat pty,link=/dev/tty.virt001 tcp:192.168.134.144:54321...
串口通信流程图下面我会一一介绍这几个步骤。1.打开串口代码(串口为ttyUSB0) //打开串口int open_port(void) { int fd; //O_NONBLOCK设置为非阻塞模式,在read时不会阻塞住,在读的时候将read放在while循环中,下一节篇文档将详细讲解阻塞和非阻塞 fd=open("/dev/ttyUSB0",O_RDW ...