安装wiringOP库、驱动蜂鸣器
wiringOP库 的安装方法
wiringOP是一个基于香橙派编写的 GPIO 访问库,可用于编程和设置香橙派的 GPIO 引脚。使用它来读取和写入引脚,甚至可以使用它从 shell 脚本控制GPIO。使用 wiringOP 库开发各种外设应用程序非常方便,下面是 wiringOP 库的安装方法:
git 命令安装 wiringOP 库
下载wiringOP库
sudo apt-get update
sudo apt-get install -y git
git clone https://github.com/orangepi-xunlong/wiringOP.git
安装wiringOP库
cd wiringOP
./build clean
./build
运行 gpio readall
来查看是否安装成功
特此说明一下上图的 1 到 26 号引脚与开发板上的 26 Pin 引脚是一一对应的,27、29、31、33 号引脚对应 OrangePi ZERO 2 开发板上 13 Pin 的10、11、12、13号引脚,28、30、32、34 号引脚为空,请直接忽略。
驱动蜂鸣器
#include <stdio.h>
#include <wiringPi.h>
#include <unistd.h>
#include <string.h>
#define BEEP 2
int main()
{
wiringPiSetup(); //wiringOP 库初始化。
pinMode(BEEP, OUTPUT); //把引脚设置为输出模式。
char buf[16];
while(1)
{
memset(buf,'\0',16);
printf("Please input on or off to control the beep:\n");
fgets(buf, sizeof(buf), stdin);
if(!strcmp(buf,"on\n"))
{
digitalWrite(BEEP, LOW);
}
if(!strcmp(buf,"off\n"))
{
digitalWrite(BEEP, HIGH);
}
else if(!strcmp(buf,"quit\n"))
{
printf("Quit!\n");
break;
}
}
return 0;
}
编译
gcc -o beep beep.c -lwiringPi -lwiringPiDev -lpthread -lcrypt -lrt
单纯的 gcc 编译会报错
原因就是 wiringOP 库属于第三方库,在编译时要用-l链接库才能编译。这时就需要我们先找到 wiringOP 的 Makefile 文件了,这个文件在 wiringOP/examples
这个路径下,可以用 vim 编辑器打开这个 Makefile 文件。打开之后,可以看到编译时要链接的全部第三方库。
运行,出现这种情况
前面加 sudo
sudo ./beep
注意:VCC不要接 5V 因为会一直响,接 3.3V 才可以控制。