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

发布于:2024-06-26 ⋅ 阅读:(42) ⋅ 点赞:(0)

 

目录

一、安装外设驱动库

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.c
    
shell脚本处理参数可以通过$来处理,这里的$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/vimrc
    
set tabstop=4 		//设置tab键缩进4个空格
set shiftwidth=4 	//设置批量对齐时候的tab键空格数为4
set nu 				//这样用vi打开文件的时候会自动显示行号

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


网站公告

今日签到

点亮在社区的每一天
去签到