当前位置: 首页> 科技> IT业 > Orangepi Zero2使用外设驱动库wiringOP驱动蜂鸣器

Orangepi Zero2使用外设驱动库wiringOP驱动蜂鸣器

时间:2025/7/18 7:10:33来源:https://blog.csdn.net/weixin_54859557/article/details/139986328 浏览次数:2次

 

目录

一、安装外设驱动库

1.1 wiringPi外设SDK安装:

二、使用wiringOP库驱动蜂鸣器

2.1 蜂鸣器的硬件连接:

2.2 使用wiringOP库实现蜂鸣器滴滴响:

2.3 设置vim代码显示格式:


一、安装外设驱动库

1.1 wiringPi外设SDK安装:

方式一:
git clone https://github.com/orangepi-xunlong/wiringOP 			//下载源码
cd wiringOP 													//进入文件夹
sudo ./build clean 												//清除编译信息
sudo ./build 													//编译
gpio readall													//查看外设库是否安装成功方式二:
通过windows浏览器打开https://github.com/orangepi-xunlong/wiringOP
把压缩包通过xterm传到开发板解压 unzip xxx.zip
cd xxx
sudo ./build
gpio readall

验证指令: gpio readall 如下方所示,外设库就完成安装了

二、使用wiringOP库驱动蜂鸣器

2.1 蜂鸣器的硬件连接:

  • 蜂鸣器I/O口对应的物理引脚的3号,其实对应的wPi的第0号

2.2 使用wiringOP库实现蜂鸣器滴滴响:

#include <stdio.h>
#include <wiringPi.h>
#include <unistd.h>#define BEEP 0							//设置针脚0为蜂鸣器控制引脚int main (void)
{wiringPiSetup();					//初始化wiringPi库pinMode (BEEP, OUTPUT) ;			//设置蜂鸣器IO口为输出模式while(1){digitalWrite (BEEP, LOW);		//设置蜂鸣器IO口输出低电平蜂鸣器响	usleep(300000);					//延时300ms//sleep(1);digitalWrite (BEEP, HIGH);		//设置蜂鸣器IO口输出高电平蜂鸣器不响usleep(300000);					//延时300ms//sleep(1);}return 0;
}

 代码写完之后我们编译,我们直接用gcc编译会出错:

还需要链接库:-lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt,但是每次写这么一大串很麻烦,所以可以写一个脚本:build.sh

shell脚本应该适用于各种程序的名字:$0		./build.sh
$1		beep.cshell脚本处理参数可以通过$来处理,这里的$1就是要编译的文件
gcc $1 -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt

我们创建了一个脚本,往脚本里面写入了内容,但是发现脚本无法运行,原因是我们新创建的脚本是没有权限的

需要使用指令chmod +x build.sh来赋予它执行的权限

 此时按照对应的格式进行编译,就生成了可执行程序a.out

注意!生成的a.out可执行程序,需要使用sudo超级用户权限来运行,然后输入密码之后我们就听到了蜂鸣器滴滴响了

 我们可以看到蜂鸣器对应的GPIO的Mode就变成了OUT输出模式

2.3 设置vim代码显示格式:

手动对齐的Tab和自动对齐从8个空格设置成4个空格&自动显示行号的方法:

sudo vim /etc/vim/vimrcset tabstop=4 		//设置tab键缩进4个空格
set shiftwidth=4 	//设置批量对齐时候的tab键空格数为4
set nu 				//这样用vi打开文件的时候会自动显示行号

我们可以看到修改之后的代码,我们在写代码的时候舒服多了

关键字:Orangepi Zero2使用外设驱动库wiringOP驱动蜂鸣器

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: