07. 蜂鸣器

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即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MSQL系列(十) Mysql实战-Join驱动表和被驱动表区分

Mysql实战-Join驱动表和被驱动表区分 前面我们讲解了Mysql的查询连接Join的算法原理, 我发现大家都知道小表驱动大表,要让小表作为驱动表, 现在有2个问题 查询多表, 到底哪个是驱动表?哪个是被驱动表, 如何区分?索引如何优化,到底是加在驱动表上,还是被驱动表上? 今天我们…

40基于MATLAB,使用模板匹配法实现车牌的识别。

基于MATLAB&#xff0c;使用模板匹配法实现车牌的识别。具体包括将原图灰度化&#xff0c;边缘检测&#xff0c;腐蚀操作&#xff0c;车牌区域定位&#xff0c;车牌区域矫正&#xff0c;二值化&#xff0c;均值滤波&#xff0c;切割&#xff0c;字符匹配&#xff0c;最终显示车…

codeforces (C++ Doremy‘s Paint 3)

题目&#xff1a; 翻译&#xff1a; 思路&#xff1a; 1、题目意思&#xff1a;将数组中的数进行排列&#xff0c;任意相邻两个数的和都相等&#xff0c;才能说这个数组为好。一下分三种情况讨论。 2、当数组中有三种及三种以上的数字&#xff0c;那任意相邻两个数的和都相等必…

智慧停车视频解决方案:如何让AI助力停车管理升级?

一、项目背景 停车场的管理区域由于面积比较大&#xff0c;进出车辆多&#xff0c;所以在保安方面决不能有任何的麻痹和松懈&#xff0c;继续采用过去保安方式已远远不能满足现代安全防范的需求。为满足停车场的安全和科学系统化管理的需要&#xff0c;以及为了对随时发生的情…

精品Python的定制化图书借阅推荐引擎设计与实现

《[含文档PPT源码等]精品基于Python的定制化图书推荐引擎设计与实现》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;python 使用框架&#xff1a;Django 前端技…

【持续交付】个人网站

今天给大家演示下如何基于Vuepress尝试持续交付博客网站。 也尝试过其他的方案&#xff0c;比如使用Typora导出html文件&#xff0c;并scp该文件到服务器上。 效果图 该持续交付主流程如下图 提交代码后会触发webHook生成version.txt,部署脚本每分钟轮询一次检测是否存在vers…

物联网和互联网医院小程序:如何实现医疗设备的远程监测和管理?

物联网&#xff08;IoT&#xff09;技术的发展为医疗设备的远程监测和管理提供了巨大的机会。结合互联网医院小程序&#xff0c;我们可以实现对医疗设备的远程访问、监控和管理&#xff0c;从而提高医疗服务的质量和效率。本文将介绍如何实现医疗设备的远程监测和管理&#xff…

漏洞复现-dedecms文件上传(CVE-2019-8933)

dedecms文件上传_CVE-2019-8933 漏洞信息 Desdev DedeCMS 5.7SP2版本中存在安全漏洞CVE-2019-8933文件上传漏洞 描述 ​ Desdev DedeCMS&#xff08;织梦内容管理系统&#xff09;是中国卓卓网络&#xff08;Desdev&#xff09;公司的一套基于PHP的开源内容管理系统&#x…

磁盘调度算法之先来先服务(FCFS),最短寻找时间优先(SSTF),扫描算法(SCAN,电梯算法),LOOK调度算法

目录 1.一次磁盘读/写操作需要的时间1.寻找时间2.延迟时间3.传输时间4.影响读写操作的因素 2.磁盘调度算法1.先来先服务(FCFS)1.例题2.优缺点 2.最短寻找时间优先(SSTF)1.例题2.优缺点3.饥饿的原因 3.扫描算法(SCAN)1.例题2.优缺点 4.LOOK调度算法1.例题2.优点 5.循环扫描算法(…

JDK8新特性:Stream流

目录 1.获取Stream流 2.Stream流常见的中间方法 3.Stream流常见的终结方法 1、 Stream 是什么&#xff1f;有什么作用&#xff1f;结合了什么技术&#xff1f; ●也叫 Stream 流&#xff0c;是Jdk8开始新增的一套 API ( java . util . stream .*)&#xff0c;可以用于操作集…

SpringCloud 微服务全栈体系(七)

第九章 Docker 一、什么是 Docker 微服务虽然具备各种各样的优势&#xff0c;但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中&#xff0c;依赖的组件非常多&#xff0c;不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署&#xff0c;环境不一定一致…

【ICCV2023】频率成分在少样本学习中的重要性

论文标题&#xff1a;Frequency Guidance Matters in Few-Shot Learning 论文链接&#xff1a;https://openaccess.thecvf.com/content/ICCV2023/html/Cheng_Frequency_Guidance_Matters_in_Few-Shot_Learning_ICCV_2023_paper.html 代码&#xff1a;暂未开源 引用&#xff1a;…

入学生活科研随笔

近而立之年&#xff0c;巅峰享受的时期有两段。一是高考后&#xff0c;收到入学通知书。早晨&#xff0c;八点多&#xff0c;我醒来在院子里看到&#xff0c;爸爸在门口和邮政快递员寒暄。那天应该是8月15号&#xff0c;清晨凉凉爽爽的&#xff0c;杨树遮住了大半个院子。第二段…

2-多媒体数据压缩国际标准-Part3

文章目录 视频压缩的国际标准MPEG-1&MPEG-2/H.262视频标准MPEG-4 AVC/H.264视频标准H.264编码框架概述H.264视频编码的技术创新点 H.265/HEVC视频标准HEVC性能与编解码框架概述Quadtree-based coding structureDeblocking & SAO FilterHEVC各模块运算量 视频压缩的国际…

利用Web Serial API实现Vue与单片机串口通信

一、Web Serial API介绍 Web Serial API 是一项 Web 技术&#xff0c;用于在浏览器中访问串行端口设备&#xff08;如 Arduino、传感器等&#xff09;并与之通信。它提供了一组 JavaScript 接口&#xff0c;使得 Web 应用程序可以通过 USB 串行端口连接到硬件设备&…

CentOS7安装配置MobaXterm使用换源处理虚拟机拍照备份与还原Linux常用命令

目录 一、centos7安装与配置 1.1 参考安装步骤 1.2 安装配置CentOS 7实操 1.2.1 配置虚拟机 1.2.2 登录CenOS 1.2.3 检测是否可联网 1.2.4 查看、设置IP地址 1.2.5 使用vi编辑ifcfg-ens33 1.2.6 重启网络服务 1.3 MobaXterm使用 1.3.1 官方下载地址 1.3.2 MobaXte…

BAT035.【工作常用批处理专栏】批处理功能说明及下载

引言:本文主要提供本专栏中练习的批处理功能进行说明和下载。 一、本专栏练习的批处理下载地址 链接:https://pan.baidu.com/s/1L_V-_LojpbfFcUFbvBK1_A 提取码:vady 二、本专栏练习的批处理汇总如下 【工作常用批处理专栏】批处理目录树: │ BAT001.CMD命令速查手册.h…

SonarLint安装与简介

简介&#xff1a; SonarLint 是SonarQube官方推出的可以在idea 静态扫描插件&#xff0c;可以同步sonarqube的规则&#xff0c;在开发编译的时候发现问题&#xff0c;可以有效减少在流水线扫描返工的次数 安装 idea 选择setttings &#xff0c;搜索sonarlint插件&#xff0c…

微信小程序设计之页面文件pages

一、新建一个项目 首先&#xff0c;下载微信小程序开发工具&#xff0c;具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后&#xff0c;注册小程序账号&#xff0c;具体注册方法&#xff0c;可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…

2023年中国牙钻机优点、产量及市场规模分析[图]

牙钻机&#xff0c;又称为牙科钻机或牙科设备&#xff0c;是一种专用于牙科诊所和牙科医院的医疗设备。它被用来进行牙齿修复、治疗和牙科手术等操作。牙钻机通常由电动马达驱动&#xff0c;带有不同类型的钻头、磨头和其他附件&#xff0c;用于在牙齿上进行各种不同的操作&…