Linux下RS485通讯测试,接收的数据字节只有8个。解决方法:
关键代码:
struct termios options;
if(0 != tcgetattr(s_fd,&options))
{
printf("ead rs485 termios error!\n");
}
printf("options.c_cc[VTIME]: %d\n",options.c_cc[VTIME]);
printf("options.c_cc[VMIN]: %d\n",options.c_cc[VMIN]);
options.c_cc[VTIME]= 1;
options.c_cc[VMIN] = 0;
tcflush(s_fd,TCIFLUSH);/* 清空缓冲区(输入) */
if(0 != tcsetattr(s_fd,TCSANOW,&options))
{
printf("set ermios options error!\n");
}
参考:
linux下的串口通信原理及编程实例 - 陈木 - 博客园 (cnblogs.com)
(14条消息) 串口编程--RS485_linux 多线程实现485收发程序_布施的博客-CSDN博客
(14条消息) Linux 串口编程学习记录(termios.h)_tcdrain_地球被支点撬走啦的博客-CSDN博客
标签:VTIME,字节,cc,linux,printf,串口,options From: https://www.cnblogs.com/l-xue/p/17262573.html