树莓派ubuntu系统ROS下使用bcm2835库的方法(静态库的连接方法)

参考链接:
(一) 关于RPi.GPIO、BCM2835 c library、WiringPi、Gertboard
(二) ROS中添加第三方库
(三) ROS rosrun 调用 sudo 命令
(1)将下载下来的bcm2835库进行安装:

# 解压缩  
$ tar xvzf bcm2835-1.35.tar.gz   
# 进入解压之后的目录  
$ cd bcm2835-1.35  
# 配置  
./configure  
# 从源代码生成安装包  
make  
# 执行检查  
sudo make check  
# 安装 bcm2835库  
sudo make install  

(2)创建程序包按照ROS教程添加语句:(与其他程序包基本相同,只需要在target_link_libraries连接添加bcm2835的静态库文件libbcm2835.a)

add_executable(adc_testsrc/adc_test.cpp)

target_link_libraries(adc_test
	${catkin_LIBRARIES}
	libbcm2835.a
)

注:
按照(一)中提到,如果需要使用bcm2835(无ROS):
  使用cd指令进入文件所在目录,然后输入以下命令生成可执行文件
  gcc -o blink blink.c -lbcm2835
  最后执行该程序,输入以下指令
   sudo ./blink
而在ROS中,target_link_libraries 的作用就相当于-l
  更一般的第三方库,若没有添加进系统默认路径,怎需要按照(二)中设置路径。
  
(3)使用blink.c的部分代码进行测试,涉及权限问题,可以使用sudo su获取root最高权限后运行。

#切换 root 用户
sudo su
#重新 source ROS工程路径 
source devel/setup.bash
#调用 rosrun 命令
rosrun xxxpackage xxxnode

若要切换回普通用户,按下Ctrl + D 即可。

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