文章目录
- 一、 蜂鸣器
- 二、软件介绍
- 2.1.安装官方外设库
- 2.2.使用外设库让蜂鸣器鸣叫
- 2.2.1.编译
- 2.2.2.烧入执行
一、 蜂鸣器
这是一款常见的 5V 有源电磁式蜂鸣器,内置振荡电路。给它接上合适的直流电压(比如这里标明的 5V),它就会自己持续发出“嘀——”的固定频率声音。Vcc 电路板的 5v 供电,GND 与单片机共地,本次实验将蜂鸣器的 IO 口接到单片机的 Pin0 口,只有给 Pin0 口输出低电平,蜂鸣器才会响。
二、软件介绍
2.1.安装官方外设库
使用该款单片机需要从官网上下载它对应的外设库,这些外设驱动也可以自己编写,下面就是下载官方库的介绍:
- 打开 MobaXterm 并将单片机与 PC 连接成功后,将下面代码输入到终端
git clone https://github.com/orangepi-xunlong/wiringOP - 自动下载完毕之后,进入文件
cd wiringOP - 使用超级权限清除编译信息
sudo ./build clean - 最后编译即可
sudo ./build - 通过
gpio readall验证是否安装成功,如果安装成功,会有以下输出:
上面是开发板的引脚图,1 ~ 34 是单片机的引脚序号,它真正的引脚号是 wPi。通过以上步骤,官方的外设库就安装完毕。
2.2.使用外设库让蜂鸣器鸣叫
在终端使用 vi 指令创建新文件并命名为 Beep.c,在该文件里编写应用代码,使用 while 循环让蜂鸣器每隔 1s 鸣叫一次:
#include<stdio.h>#include<wiringPi.h>#include<unistd.h>#defineBEEP0intmain(void){wiringPiSetup();pinMode(BEEP,OUTPUT);//将Pin0口设置成输出模式while(1){digitalWrite(BEEP,LOW);//将Pin0口置低电平usleep(1000000);digitalWrite(BEEP,HIGH);//将Pin0口置高电平usleep(1000000);}}2.2.1.编译
编写完毕之后,通过 gcc 指令编译,不过仅仅只有 gcc 编译是不允许的,还需要添加-lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt这些链接才能成功编译,完整指令:
gcc Beep.c -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
每一次编译都需要输入这么多东西,非常麻烦,可以使用 vi 指令创建一个编译脚本名叫:build.sh,在里面实现通用的编译指令,类似 C 语言的程序传参,将 Beep.c 当参数传入编译脚本中:
//使用美元符号即可表示需要传参gcc $1-lwiringPi-lwiringPiDev-lpthread-lm-lcrypt-lrt创建编译脚本完成之后,直接输入./build.sh Beep.c即可完成编译。
2.2.2.烧入执行
将代码烧入进单片机需要使用超级权限,也就是sudo ./a.out就可以自动运行,需要超级权限是因为需要访问到每单片机的底层 IO 口。第一次烧入的时候,系统会让用户输入密码,只需要根据要求输入即可。