树莓派64位系统成功安装bcm2835库
程序员文章站
2022-03-03 18:53:13
背景树莓派的GPIO库主要有三种wiringPi, RPI.GPIO,bcm2835。其中wiringPi和bcm2835是支持C/C++语言的库。名气上wiringPi更大一点,但奈何作者因为抑郁(网上有人评论)把库的源代码给封了,暂时也不支持64位系统所以安装不了。RPI.GPIO是Python库,脚本语言嘛原则上与系统无关,当然主要是因为我们的系统用的C++写,调用Python还是会稍微麻烦一点,所以没有实际测试。因此把希望寄托在了bcm2835库上了。测试材料Ubuntu20.04 serv...
背景
树莓派的GPIO库主要有三种wiringPi, RPI.GPIO,bcm2835。其中wiringPi和bcm2835是支持C/C++语言的库。名气上wiringPi更大一点,但奈何作者因为抑郁(网上有人评论)把库的源代码给封了,暂时也不支持64位系统所以安装不了。RPI.GPIO是Python库,脚本语言嘛原则上与系统无关,当然主要是因为我们的系统用的C++写,调用Python还是会稍微麻烦一点,所以没有实际测试。因此把希望寄托在了bcm2835库上了。
测试材料
- Ubuntu20.04 server_ras
- bcm2835
- 树莓派4B 8G版本
步骤
- 烧录Ubuntu20.04,可选的可安装xubuntu桌面方便小白操作。
- 下载bcm2835源码,下载链接&安装指南 http://www.airspayce.com/mikem/bcm2835/
使用root用户安装:
tar zxvf bcm2835-1.xx.tar.gz
cd bcm2835-1.xx
./configure
make
sudo make check
sudo make install
make时如果失败,可按照提示执行命令即可安装成功,一定要注意不能有error。
测试
- 写代码
#include <bcm2835.h>
#define PIN RPI_GPIO_P1_18
int main(int argc, char **argv)
{
if (!bcm2835_init())
return 1;
// 输出方式
bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);
while (1)
{
bcm2835_gpio_write(PIN, HIGH);
bcm2835_delay(100);
bcm2835_gpio_write(PIN, LOW);
bcm2835_delay(100);
}
bcm2835_close();
return 0;
}
- 上电测试
Done!!!
本文地址:https://blog.csdn.net/u012197995/article/details/109235518