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

时间:2023-03-09 02:55:19
ROS常用库(二) Serial库(单片机和上位机串口通讯)

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

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

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

 import serial

 serial = serial.Serial('/dev/ttyUSB0',115200,timeout=2)

 while(1):
data = serial.read(1) if serial.isOpen():
print (data)
else:
print ('no open')

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

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

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

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

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