【Orangepi Zero2 全志H616】驱动蜂鸣器

一、用户手册对应的I/O
二、wiringPi库示例代码
三、代码实现
四、创建shell脚本
五、接线和运行结果

一、用户手册对应的I/O【Orangepi Zero2 全志H616】驱动蜂鸣器_第1张图片

【Orangepi Zero2 全志H616】驱动蜂鸣器_第2张图片
【Orangepi Zero2 全志H616】驱动蜂鸣器_第3张图片

二、wiringPi库示例代码

【Orangepi Zero2 全志H616】驱动蜂鸣器_第4张图片

  1 #include <stdio.h>
  2 #include <wiringPi.h>
  3
  4 #define NUM 17   //26pin
  5 //#define NUM 18   //26pin
  6 //#define NUM 20   //for Orange Pi Zero 2
  7 //#define NUM 19   //for Orange Pi 4
  8 //#define NUM 28     //40pin
  9
 10 int main (void)
 11 {
 12     int i = 0;
 13
 14     wiringPiSetup () ;
 15
 16     for (i = 0; i < NUM; i++)
 17         pinMode (i, OUTPUT) ;
 18
 19     for ( ;; )
 20     {
 21             for (i = 0; i < NUM; i++)
 22                 digitalWrite (i, HIGH) ;    // On
 23             delay (2000) ;      // mS
 24
 25             for (i = 0; i < NUM; i++)
 26                 digitalWrite (i, LOW) ; // Off
 27             delay (2000) ;
 28     }
 29
 30     return 0;
 31 }

三、代码实现

cp wiringOP-master/examples orangeOP
#include 
#include 
#include 
 
#define BEEP 0  //设置针脚0为蜂鸣器的控制引脚
 
int main (void)
{
        wiringPiSetup () ;//初始化wiringPi库
        pinMode (BEEP, OUTPUT) ;//设置IO口模式,输出
        while(1){
                //sleep(1);
                usleep(100000);
                digitalWrite (BEEP, HIGH) ; //设置IO口输出高电平
                //sleep(1);
                usleep(100000);
                digitalWrite (BEEP, LOW) ; //设置IO口输出低电平,蜂鸣器响
        }
        return 0;
}

四、创建shell脚本

vim ../wiringOP-master/examples/Makefile

【Orangepi Zero2 全志H616】驱动蜂鸣器_第5张图片

vi build.sh
  1. 简易config编译的shell脚本:
gcc $1 -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
./build beep.c
echo $0
echo $1

shell脚本处理参数,可以通过$0 来处理,这里的$1 是要编译的文件

加权限运行编译脚本

chmod +x build.sh

五、接线和运行结果

【Orangepi Zero2 全志H616】驱动蜂鸣器_第6张图片
【Orangepi Zero2 全志H616】驱动蜂鸣器_第7张图片

你可能感兴趣的:(全志H616,网络,linux,c语言)