wiringPi,BCM,BOARD编码
由于上课需要, 嵌入式学习从树莓派开始
树莓派中执行:
$> gpio readall
即可得到关于树莓派管脚的各种信息
上面的图可能不是特别清楚, 可以看下面的这个:
图片的出处图上有标示:
解释一下怎么看:
物理引脚BOARD编码和你树莓派上的管脚是正好对应的, 比如:
下图中插着杜邦线的引脚就是物理引脚BOARD编码中的39号引脚
再比如, BOARD编码中的37号引脚
在wiringPi 中的编码就是25号引脚
在BCM 中的编码就是26号引脚
他们有的功能都是GPIO.25(通用输入输出管脚25)
用代码举个例子
在wiringPi中, 你要使用GPIO.25号管脚, 你就得驱动25
pinMode(25,OUTPUT);
digitalWrite(25,HIGH);
而在BCM中, 你要使用GPIO.25号管脚, 你就得驱动26
pinMode(26,OUTPUT);
digitalWrite(26,HIGH);
BCM,wiringPi,BOARD使用场合
BOARD编码和BCM一般都在python库中使用
import RPi.GPIO as GPIO //引入RPi.GPIO库
GPIO.setmode(GPIO.BCM) //设置引脚编号为BCM编码方式;
GPIO.setmode(GPIO.BOARD) //设置GPIO引脚为BOARD编码方式。
而wiringPi一般用于C++等平台
LIBS += -lwiringPi
#include "wiringPi.h"
wiringPiSetup();