前言
最近准备将windows上自动瞄准的程序移植到linux,第一步准备调试一下ubuntu下的串口。在网上搜到一个串口库,于是就拿来调用,最后调试成功。过程如下:
过程
1 . 下载Serial Port Library,官网链接:http://wjwwood.io/serial/
2 . 编译
cd serial
make
make test
make install
3 . 打开eclipse,新建空的C++工程,并配置好头文件和库的路径。
进入properties -> C/C++ Build -> settings.
在GCC C++ Compiler -> includes添加头文件路径,如下图:
在GCC C++ Linker -> Libraries添加库路径,如下图:
4 .运行示例程序
将serial/example下的serial_example.cpp复制到该工程目录下,编译运行。出现找不到动态库的错误,此时需要指明动态链接库的路径,命令如下:
cd /etc/ld.so.conf.d/
sudo touch SerialPort.conf
sudo gedit SerialPort.conf
在SerialPort.conf里添加库的路径/tmp/usr/local/lib,保存即可。
刷新
sudo ldconfig
以上步骤完成之后,发现能够进行调试状态了,然后逐步运行,发现构造类Serial的一个示例时,报错Permission Denied。究其原因,是因为权限不够,所以需要切换到超级用户权限。
在终端以超级用户启动eclipse,后续步骤同上。最后调试成功,能够正确读取串口和向串口发送数据。
后续
接下来将该串口程序加入到ros indigo中,作为一个节点。