全志ARM-蜂鸣器

ops/2025/2/12 4:02:02/

sh操作准备:

1.使Tab键的缩进和批量对齐为4格

在/etc/vim/vimrc 中添加一项配置 set tabstop = 4;

也可以再加一行 set = nu显示代码的行数

vim的设置,修改/etc/vim/vimrc文件,需要用超级用户权限

/etc/vim/vimrc
set shiftwidth=4 设置批量对齐时候的tab键空格数为4

2.

如果我们直接gcc编译,系统不认识所使用的功能,需要链接相应的库

我们可以在example中学习别人是如何链接的

orangepi@orangepizero2:~/wiringOP/examples$  vi Makefile

后面我们进行编译时就可以在后面链接库

gcc blink.c -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt

 为了方便编译,可以将以上代码写成脚本,避免繁琐的手动链接

vi build.sh

接线: 

 如图所示对应方向各个引脚,共26个主引脚

蜂鸣器:GND ——9号或14号引脚

                VCC——1号3.3v供电

                I/O口——3号、5号串口

蜂鸣器运行:

#include <stdio.h>#include <wiringPi.h>#include <unistd.h>#define BEEP 0   //设置针脚0为蜂鸣器的控制引脚
int main (void){wiringPiSetup () ;//初始化wiringPi库ipinMode (BEEP, OUTPUT) ;//设置IO口的输入输出,输出
}while(1){//sleep(1);usleep(100000);digitalWrite (BEEP, HIGH) ; //设置IO口输出低电平,蜂鸣器响
//sleep(1);usleep(100000);digitalWrite (BEEP, LOW) ;  //设置IO口输出低电平,蜂鸣器响
}return 0;

usleep的单位是微秒,sleep是秒

shell脚本的参数传递:

ehco=$0;
echo=$1;
gcc $1 -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt

 

./bulid.sh beep.c
./bulid.sh    //对应$0beep.c        //对应$1

 

 beep.c


http://www.ppmy.cn/ops/29233.html

相关文章

4.27日学习打卡----初学Redis(四)

4.27日学习打卡 目录&#xff1a; 4.27日学习打卡一. Redis的配置文件二. Redis构建Web应用实践环境搭建redis的优点引入本地缓存Google 开源工具GuavaGuava实现本地缓存 一. Redis的配置文件 在Redis的解压目录下有个很重要的配置文件 redis.conf &#xff0c;关于Redis的很多…

【ARM Cache 系列文章 11 -- ARM Cache 直接映射 详细介绍】

请阅读【ARM Cache 系列文章专栏导读】 文章目录 ARM Cache组织形式直接映射(Direct Mapped)直接映射示例直接映射原理Cache颠簸(cache thrashing)原因文章:【ARM Cache 系列文章 11.1 – ARM Cache 全相连 详细介绍】 文章:【ARM Cache 系列文章 11.2 – ARM Cache 组相…

深入了解 Spring Boot 的加载过程

Spring Boot 的加载过程可以大致分为以下几个阶段&#xff1a; 类加载&#xff1a;首先&#xff0c;Java 虚拟机会加载必要的类&#xff0c;包括 Spring Boot 的核心类和应用程序的相关类。配置解析&#xff1a;Spring Boot 会解析各种配置&#xff0c;如 application.properti…

Linux系统编程--信号与管道

1、信号与管道是什么&#xff1f; 首先了解信号与管道的意义&#xff0c;我们需要了解Linux系统中进程之间是如何通信的。Linux操作系统下&#xff0c;以进程为单位来分配或者管理资源&#xff0c;进程之间不能直接访问资源&#xff0c;因此&#xff0c;要求进程间的资源和信息…

初识Vue-组件化开发(详解各个组件)

目录 一、组件介绍 1.概念 2.特点 3.作用 4.应用 5.分类 二、组件语法 1.定义挂载vue应用 2.注册全局组件 实例 1.自定义组件 2.计数器 3.组件的复用 4.局部组件 实例 5.Prop 6.动态Prop 7.Prop 验证 三、创建组件的关键概念和语法 1. 组件定义 2. 组件选…

在Vue中使用v-viewer插件实现点击图片预览

v-viewer是一款基于 viewer.js 封装的Vue版插件&#xff0c;可用于图像查看&#xff0c;以及图片的旋转、缩放等功能预览。 使用步骤&#xff1a; 第一步&#xff1a;安装插件 yarn add v-viewernext viewerjs 第二步&#xff1a;引入v-viewer及必需的css样式&#xff0c;并…

SpringBoot日志管理

一.Logback SpringBoot默认使用Logback组件作为日志管理。 Logback是log4j创始人设计的一个开源日志组件。在SpringBoot中已经整合了Logback的依赖&#xff0c;所以我们不需要额外的添加其他依赖,这些日志格式在我们开发过程中是不需要开发人员自己写的&#xff0c;直接cv拿过来…

全志ARM-修改开发板内核启动日志

修改开发板内核日志输出级别&#xff1a; 默认输出级别为1&#xff0c;需要用超级用户权限修改 sudo vi /boot/orangepiEvn.txt 把第一行内核启动输出权限改为7&#xff0c;第二行把输出方式该为“serial”串口输出