树莓派 使用C对GPIO编程
1 树莓派GPIO控制有以下三种方式:
1.1 wiringPi
wiringPi适合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群。wiringPi的API函数和arduino非常相似,这也使得它广受欢迎。
作者给出了大量的说明和示例代码,这些示例代码也包括UART设备,I2C设备和SPI设备等,毫无疑问地说wiringPi功能非常强大。
1.2 BCM2835 C Library
BCM2835 C Library可以理解为使用C语言实现的相关底层驱动,它给我的感觉更像STM32的库函数,BCM2835 C Library的驱动库包括GPIO、SPI和UART等,
可以通过学习BCM2835 C Library熟悉BCM2835相关的寄存器操作。如果有机会开发树莓派上的linux驱动,或自主开发python或PHP扩展驱动,可以从BCM2835 C Library找到不少的“灵感”。
注: 不确定树莓派硬件型号可以,通过下列方式查看
2 BCM2835 C Library使用
2.1 安装
先看看最新版本:http://www.airspayce.com/mikem/bcm2835
1 下载
$ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.56.tar.g
2 解压
$ tar xvzf bcm2835-1.56.tar.gz
3 执行./configure
pi@raspberrypi:~/bcm2835-1.56 $ ./configure
4 make
pi@raspberrypi:~/bcm2835-1.56 $ make
5 make check
pi@raspberrypi:~/bcm2835-1.56 $ sudo make check
6 安装库
pi@raspberrypi:~/bcm2835-1.56 $ sudo make install
2.1 样例
1 确定PIN, 比如控制GPIO.7
#define RST_PIN RPI_GPIO_P1_07
2 编译,-l bcm2835表示动态加载bcm2835共享库