香橙派Zero2基于wiringPI外设库的实验(蜂鸣器)

  1. 外设接线

在这里插入图片描述

  1. wiringPI库中对应的引脚,我编程用的是0号引脚
    在这里插入图片描述
  2. 代码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;
}

  1. 由于编译时需要链接一些动态库,我直接写了一个统一的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
在这里插入图片描述

  1. 运行
    应为wiringPi外设库设置的引脚需要root权限,所以运行时要加上sudo

sudo ./a.out

现象说明:蜂鸣器会响一秒,停一秒,一直循环

猜你喜欢

转载自blog.csdn.net/m0_68038554/article/details/131872521