TA的每日心情 | 慵懒 2021-1-16 10:58 |
---|
签到天数: 602 天 连续签到: 1 天 [LV.9]以坛为家II
|
本帖最后由 杉树林-罗 于 2015-7-29 00:48 编辑
无论对于何种芯片,GPIO都是入门的关键一步。芯片若不能与外界进行信息的交互则显得一点价值都没有。未来的道路还会有SCI、IIC、UART、PWM之类,而最初的学习,从点亮LED灯开始。
根据网上教程的介绍,在RPSI环境下对GPIO管脚的操作,可以有python_gpio、wring、BCM2835三类。优缺点各有,目前先用用BCM2835。
网址:http://www.airspayce.com/mikem/bcm2835/group__constants.html#ga5bb885982ff66a2e0a0a45a8ee9c35e2
纠结了一天才在官网上发现,原来二代的树莓派其芯片已经替换为BCM2836,而网站上能找到的教程大多属于初代的,无法直接拿过来使用。参考官方的说法以及例程,成功地进行了点灯操作。源码如下所示:
#include <bcm2835.h>
#define PIN RPI_V2_GPIO_P1_03
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;
}
以下有几点需要注意的:
根据官网的说法,每个例程在使用前都必须调用bcm2835_init( )这个函数,位于/dev/men目录下
bcm2835_delay( )这个函数用于微秒级别的调用
|
评分
-
查看全部评分
|