文章目录
- GPIO
- 方法一 使用引脚映射
- 方法二 使用WiringPi库
-
- 下载库文件
- 测试
-
- 查看引脚分布情况
- 编译
- 运行代码
- 参考资料
GPIO
OrangePi Plus 2开发板上有40 Pin的引脚,引脚与树莓派的引脚兼容[官方介绍],这些引脚一般情况下用不到,但是如果想做硬件开发的话,比如控制舵机,电机;获取一些外接传感器的数据比如:温度传感器,湿度传感器,陀螺仪等。因此在这里针对 OrangePi Plus 2 开发板,讲解一系列GPIO引脚的使用方法。
在百度、谷歌各种搜索,找到一大堆针对OrangePi系列其他板子的GPIO使用方法,基本上找不到OrangePi Plus 2 开发板的,卡了很久之后,终于找到了合适的方法。
方法一 使用引脚映射
这种方法通过映射,设置GPIO引脚的工作模式来控制引脚,是比较底层的食用方法。我试过,但是不太会,可能是我太笨,感兴趣的朋友可以自己研究下。
OrangePi 通用GPIO开发文档
方法二 使用WiringPi库
第二种方法是比较傻瓜化的操作,直接使用别人开发好的库,调用函数直接食用。由于我自己比较小白,因此推荐此方法。
下载库文件
1.下载库文件
git clone https://github.com/LongerVisionRobot/OrangePi_Full_Stack/tree/master/OrangePi_Plus_2
2.编译安装
cd OrangePi_Plus_2
chmod +x ./build
sudo ./build
测试
查看引脚分布情况
输入代码
gpio readall
即可看到如下图所示的引脚分布示意图:
代码里面包含一个**example**文件夹,里面是我自己测试过的源代码,今天主要使用**/examples/blink**文件夹中的代码测试。
编译
输入下述命令对代码进行编译
cd OrangePi_Plus_2/examples/blink
gcc -o blink blink.c -lwiringPi -lpthread
运行代码
输入下述命令运行代码
sudo ./blink
- 通过万用表的电压档位检测Pin 0(BCM_GPIO 17,在左边一列第6行)的电压,发现电压以1hz的频率高低变化。
- 也可以将Pin 0引脚接到下拉电阻,再串联到LED,接地,控制LED闪烁。
OrangePi_Plus_2/examples/blink文件夹下其他文件分别是
blink8.c // 控制GPIO.O-GPIO.8同时闪烁
blink.c
blink.rtb
blink.sh // 使用PYTHON控制引脚
大家可以自行编译测试。
参考资料
WiringPi库文件源文件