ROS Kinetic 与STM32通信,控制一盏LED灯

1、首先、新建一个工作空间。

mkdir - p stm32_project/src
   编译

catkin_make
  进入src

cd stm32_project/src
  添加stm32f103rc_rosserial包

git clone https://github.com/ykevin/stm32f103rc_rosserial.git
cd ..
catkin_make
source devel/setup.bash
 2、安装编译工具链

sudo apt-get install -y git build-essential gcc-arm-none-eabi
3、安装ST_LINK V2 烧录驱动

git clone https://github.com/texane/stlink.git 
cd stlink 
 

make
cd build/Release
sudo make install
安装完毕。

4、修改GPIO

在Driver里面可以看到有编写好的led的代码。这里要更改你开发板的灯对应的GPIO,打开Bsp文件夹,找到config.h文件。这里修改对应的GPIO即可

5、编译烧录

cd stm32_project/src/stm32f103rc_rosserial
make
 这里会生成main.elf和main.bin以及.o文件

 接着插入ST_Link,连接开发板和电脑

查看是否有ST_LINK

lsusb
 

 没有的话就是驱动安装失败,重新安装。 

烧录:

make flash
 烧录成功后,会发现灯已经亮起。

用USB跟STM32通信。

6、USB权限设置

sudo chmod 777 /dev/ttyUSB0
$sudo usermod -aG dialout username
  username是自己的用户名。重启。

reboot
7、通信测试。

  启动master

roscore
 另一个终端打开,开启USB连接。

 rosrun rosserial_python serial_node.py /dev/ttyUSB0
成功:截图如下:

8、查看正在发布的话题

rostopic list


9、发布话题消息

rostopic pub /led std_msgs/Float64 0.01
观察灯的情况即可。

小白的学习笔记,学习ROS很娱快。
--------------------- 
作者:Mr_dhy 
来源:CSDN 
原文:https://blog.csdn.net/Mr_dhy/article/details/81746303 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(ROS,串口)