参考链接:
(一) 关于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 即可。