- 外设接线
- wiringPI库中对应的引脚,我编程用的是0号引脚
- 代码beep.c如下:
#include <stdio.h>
#include <wiringPi.h>
#include <unistd.h>
#define BEEP 0 //设置针脚0为蜂鸣器的控制引脚
int main (void)
{
wiringPiSetup () ;//初始化wiringPi库
pinMode (BEEP, OUTPUT) ;//设置IO口的输入输出,输出
while(1){
sleep(1);//延时一秒
digitalWrite (BEEP, HIGH) ; //设置IO口输出低电平,蜂鸣器不响
sleep(1);
digitalWrite (BEEP, LOW) ; //设置IO口输出低电平,蜂鸣器响
}
return 0;
}
- 由于编译时需要链接一些动态库,我直接写了一个统一的shell脚本来方便编译,脚本build.sh如下:
echo $0
echo $1
gcc $1 -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
然后给shell脚本加一个可运行的权限
sudo chmod +x build.sh
然后利用脚本进行编译
./build.sh beep.c
- 运行
应为wiringPi外设库设置的引脚需要root权限,所以运行时要加上sudo
sudo ./a.out
现象说明:蜂鸣器会响一秒,停一秒,一直循环