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