ROS常用库(二) Serial库(单片机和上位机串口通讯)

比如我们做了个单片机,在win里面用串口调试助手接收和下发数据,那么在ubuntu里用ros怎么实现?换个说法,怎么实现上位机和下位机的通讯?

首先,用python自带的库就可以实现这个功能。

安装pyserial,然后运行以下代码:

 1 import serial
 2 
 3 serial = serial.Serial('/dev/ttyUSB0',115200,timeout=2)
 4 
 5 while(1):
 6     data = serial.read(1)
 7 
 8     if serial.isOpen():
 9     print (data)
10     else:    
11     print ('no open')

解读一下:第三行设置为自己的端口号和波特率。

第六行是读的数据大小,我这里只读了一位,所以括号里写了1.

serial.isOpen就是检测串口是否打开的函数。

具体的serial库有哪些功能函数请移步https://blog.csdn.net/wilylcyu/article/details/51840028?locationNum=7

以上就是最简单的读串口数据的方法,把这部分放在ros框架下就可以了。ros中也有这个serial库,编译安装后使用即可。


博文主要是总结自己的学习,因此有很多知识点没有提到,仅仅提了个人比较容易遗忘的或者非常重要的知识点。很多资料来源于网络和对一些课程的整理,侵权删。格式没花精力调整,望谅解。
原文地址:https://www.cnblogs.com/JuiceCat/p/12166535.html