07. 蜂鸣器

news2024/11/26 6:23:56

07. 蜂鸣器

  • 硬件原理分析
  • 代码编写

硬件原理分析

在这里插入图片描述

此处为PNP型三极管,BEEP为低的时候三极管才会导通,也就是BEEP=0时,蜂鸣器会叫。BEEP是通过SNVS_TAMPER1这个IO控制的

代码编写

将前面的bsp、imx6ul、obj和project拷贝过来

  1. 初始化SNVS_TAMPER1这个IO复用为GPIO5_IO01
  2. 设置SNVS_TAMPER1这个IO的电气属性
  3. 初始化GPIO
  4. 控制GPIO输出高电平

bsp_beep.h

#pragma once 
#include "imx6ul.h"
void beep_init();
void beep_switch(int status);

bsp_beep.c

#include "bsp_beep.h"
// BEEP初始化
void beep_init()
{
	IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0);
	IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0x10b0);
	
	GPIO5->GDIR|=(1<<1); // 第一个比特位设置为输出
	GPIO5->DR&=~(1<<1);  // 将这个位置输出0,表示默认蜂鸣器关闭
}

// 蜂鸣器控制函数
void beep_switch(int sattus)
{
	if(status==ON)
		GPIO5->DR&=~(1<<1);// 低电平时蜂鸣器响
	else if(status==OFF)
		GPIO5->DR|=(1<<1);
}

main.c

int main()
{
	clk_enable();
	led_init();
	beep_init();
	
	while(1)
	{
		led_switch(LED0,ON);
		beep_switch(ON);
		delay(500);

		led_switch(LED0,OFF);
		beep_switch(OFF);
		delay(500);
	}
	return 0;
}

makefile文件中只需要添加bsp/beep路径,然后target ?= beep即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1146970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

首次cmake 多目录构建失败

新建test3目录&#xff0c;新建如下图空目录&#xff1b;前文有4个源码文件&#xff0c;2个h&#xff0c;2个cpp&#xff1b;把前文的cpp文件拷贝到src目录下&#xff0c;把h文件拷贝到include目录下&#xff1b;前文的CMakeLists.txt拷贝到test3目录下&#xff1b; 在src目录新…

基于小安派AiPi-Eye-S1的Nes游戏机

1.作品展示 作品功能可见以下B站视频 外壳可以使用灰太狼大佬提供的外壳STL文件。在嘉立创三维猴上打印&#xff08;外壳12元快递6元&#xff09;。 外壳从以下的帖子中获取&#xff1a; 模型分享 2.作品说明 2.1 硬件部分 硬件上使用到了AiPi-Eye-S1开发板以及3.5寸 240*3…

社恐了怎么办?如何改变社交恐惧症?

社恐这个词已经算是普及了&#xff0c;自嘲自己是社恐的人真的挺多的&#xff0c;好像一句我社恐了就能解析很多问题&#xff0c;其实真正的社恐远比我们想象的要痛苦多了&#xff0c;社恐能被更多人认识到本来是件好事&#xff0c;但是过于的用社恐来给自己贴标签&#xff0c;…

VBA技术资料MF75:测量所选单元格范围的高度和宽度

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…

从InnoDB索引的数据结构,去理解索引

从InnoDB索引的数据结构&#xff0c;去理解索引 1、InnoDB 中的 BTree1.1、BTree 的组成1.2、BTree中的数据页 2、聚簇索引2.1、聚簇索引的特点2.2、聚簇索引的结构示例2.3、聚簇索引的优缺点 3、非聚簇索引3.1、非聚簇索引结构示例3.2、关于回表3.3、聚簇索引和非聚簇索引的区…

ALS算法在菜品智能推荐系统的应用

核心推荐模块的推荐算法是基于用户推荐模 型&#xff08;user_model&#xff09;协同过滤的矩阵分解过滤算法 ALS。其算法原理可叙述为&#xff1a; ALS收集大数据样本的用户评分喜好信息&#xff0c;训 练推荐模型&#xff0c;基于该模型进行协同过滤。 对于任意一个形如用户-…

记录几个常用的docker镜像

背景 Docker 部署有着非常多的优势&#xff0c;可以帮助提高开发、测试和部署的效率&#xff0c;降低成本&#xff0c;使应用更具可移植性和可扩展性&#xff0c;包括但不限于 标准化应用发布&#xff0c;跨平台和主机使用&#xff1a;Docker的镜像提供了标准化发布环境&…

基于引力搜索算法的无人机航迹规划-附代码

基于引力搜索算法的无人机航迹规划 文章目录 基于引力搜索算法的无人机航迹规划1.引力搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用引力搜索算法来优化无人机航迹规划。 …

报错:Error: error:0308010C:digital envelope routines::unsupported

运行旧项目时&#xff0c;报错&#xff1a;Error: error:0308010C:digital envelope routines::unsupported 主要原因&#xff1a;node版本太高了 解决方法&#xff1a;package.json 包文件中&#xff0c;添加代码 set NODE_OPTIONS--openssl-legacy-provider && &am…

代码审计-锐捷EG易网关 download.php 后台任意文件读取漏洞

首先登录到后台中(可以组合 锐捷EG易网关 管理员账号密码泄露漏洞) 关键部分代码为 直接从Get请求中提取 file参数读取文件&#xff0c;可以使用 …/ 跳转目录 验证POC /download.php?aread_txt&file../../../../etc/passwd漏洞证明&#xff1a; 文笔生疏&#xff0c;…

C的自定义类型

目录 1. 结构体 1.1. 结构体类型的声明 1.1.1. 特殊声明 2. 结构的自引用 3. 结构体变量的定义和初始化 4. 结构体内存对齐 4.1. 结构体内存对齐 4.2. 修改默认对齐数 5. 结构体传参 6. 结构体实现位段&#xff08;位段的填充&可移植性&#xff09; 6.1. 什么是位…

集丰照明|博物馆照明设计安全保护四大注意事项

博物馆展品是博物馆一切行为的中心&#xff0c;策划、装修、布展、照明、开展、撤展所有过程都围绕珍贵的展品而设置。因此&#xff0c;在整个行为过程中如何安全保护独一无二的珍稀展品成为博物馆展览的首要课题&#xff0c; 博物馆照明设计 必须优先处理好安全保护展品和更…

问题 X: 阿牛的EOF牛肉串(分类讨论)

算法如下&#xff1a; eg.f(n,o)表示的是以N为长度&#xff0c;以O为结尾的合法字符串个数 代码实现&#xff1a;

拿捏面试官,高频接口自动化测试面试题总结(附答案)狂收offer...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 面试题&#xff1…

基于水循环算法的无人机航迹规划-附代码

基于水循环算法的无人机航迹规划 文章目录 基于水循环算法的无人机航迹规划1.水循环搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用水循环算法来优化无人机航迹规划。 1.水循环…

Windows防火墙导致端口访问不通

计算机A的IIS中部署的服务&#xff0c;在另外的计算机B中始终无法访问&#xff0c;ping和telnet都不通。   最初认为是硬件的问题&#xff0c;但是检查了网络后并未发现问题&#xff0c;同时计算机B与其它联网计算机之间也是可以相互访问。   接着测试从计算机A中ping和tel…

【网络安全 --- 文件上传靶场练习】文件上传靶场安装以及1-5关闯关思路及技巧,源码分析

一&#xff0c;前期准备环境和工具 1&#xff0c;vmware 16.0安装 若已安装&#xff0c;请忽略 【网络安全 --- 工具安装】VMware 16.0 详细安装过程&#xff08;提供资源&#xff09;-CSDN博客文章浏览阅读186次&#xff0c;点赞9次&#xff0c;收藏2次。【网络安全 --- 工…

idea 提升效率的常用快捷键 汇总

点击File --> Settings --> keymap便可进入看到 IDEA 提供的快捷键。我们也可以搜索和自定义所有快捷键 下面13个事我常用的快捷键&#xff0c;后面还有全部&#xff0c;可以当做字典来查 1.当前文件下查找&#xff1a;CtrlF 当前文件下替换&#xff1a;CtrlR 2.当前…

FPGA时序分析与约束(8)——时序引擎

一、概述 要想进行时序分析和约束&#xff0c;我们需要理解时序引擎究竟是如何进行时序分析的&#xff0c;包括时序引擎如何进行建立分析&#xff08;setup&#xff09;&#xff0c;保持分析(hold)&#xff0c;恢复时间分析(recovery)和移除时间分析(removal)。 二、时序引擎进…

2024王道考研计算机组成原理——输入输出系统

7.1.1 输入输出系统和几种IO控制方式 输入设备&#xff1a;把数据从主机外部输入主机内部 输出设备&#xff1a;把数据从主机内部输出到主机外部 现在的IO接口(芯片)通常被集成在南桥芯片的内部 DMA接口其实也是IO接口(芯片)的一种&#xff0c;磁盘准备的数据先一个字一个字…