ubuntu下irobot串口通讯

在window下以前就`有一个现成的串口代码。想移植到ubuntu下,发现都不一样了。要重新找个。

折腾了一上午之后,发现自己写这个串口通讯还是有一点难度。

于是,用了github上 Erick Cobos T的代码。写得真是规范。

在此基础上,需要进行一些改动。

原来的只发命令,让它走就可以了,可是我要查询传感器数据,读串口的地方要改,否则读不到数据。这里之前都是0

settings.c_cc[VMIN] = 0; /* Update the options and do it NOW */
settings.c_cc[VTIME] = 150; /* 设置超时15 seconds*/   

/*
1、VTIME=0,VMIN=0:此时即使读取不到任何数据,函数read也会返回,返回值是0。

2、VTIME=0,VMIN>0:read调用一直阻塞,直到读到VMIN个字符后立即返回。

3、VTIME>0,VMIN=0:read调用读到数据则立即返回,否则将为每个字符最多等待 */

参考:
Serial Programming Guide for POSIX Operating Systems 

原文地址:https://www.cnblogs.com/xy123001/p/6646986.html