三、HAL_无源蜂鸣器的驱动

news2024/9/24 3:26:27

1、开发环境

(1)KeilMDK:V5.38.0.0

(2)STM32CubeMX:V6.8.1

(3)MCU:STM32F407ZGT6

2、无源蜂鸣器简介

        无源蜂鸣器内部没有振荡源,需要采用一定频率的方波才能驱动发声。详情参开以下文章。

八、51单片机之蜂鸣器_51蜂鸣器_朱嘉鼎的博客-CSDN博客蜂鸣器简介无源蜂鸣器示例程序https://blog.csdn.net/weixin_42727214/article/details/128193629

3、实验目的&原理图

3.1、实验目的

(1)使蜂鸣器发出人耳可听到的声音。

3.2、原理图

(1)BEEP接PF8。

(2)三极管的作用是因为单片机引脚驱动能力不够,通过BEEP引脚控制三级管的开关。

3、STM32CubeMX创建工程及配置

3.1、新建工程

(1)打开STM32CubeMX软件。

(2)点击File→NewProject。

(3)Commercial Part Number(商用部件号)处输入MCU型号,然后选择正确的单片机型号,点击Start Project(开始项目)。

(4)配置工程名、工程存放文件等。

点击Project Manager(项目经理)进行如下配置。

点击Code Generator(代码生成器)进行如下配置。

(5)点击GENERATE CODE生成KeilMDK工程。

3.2、配置时钟和GPIO

(1)HSE、LSE时钟源选择

  • HSE:高速外部时钟源
  • LSE:低速外部时钟源
  • Disable:禁用
  • BYPASS Clock Source:旁路时钟源
  • Crystal/Ceramic Resonator :水晶/陶瓷共振器
  • 一般选择水晶陶瓷共振器
  • 旁路时钟源就是由外部给定一个时钟信号,一般用于作为同步时钟。
  • 水晶/陶瓷共振器:指外接晶振,经过内部振荡电路产生时钟。

(2)GPIO配置如下

(3)时钟树配置

(4)配置完需要重新点击GENERATE CODE更新KeilMDK代码。

4、KeilMDK软件编写部分

4.1、程序编写

HAL_GPIO_WritePin(Beep_GPIO_Port, Beep_Pin, GPIO_PIN_RESET);
HAL_Delay(2);
HAL_GPIO_WritePin(Beep_GPIO_Port, Beep_Pin, GPIO_PIN_SET);
HAL_Delay(2);

4.2、完整工程下载地址

(1)完整工程存储在码云。

(2)STM32_CSDN: CSDN中STM32专栏的所有示例代码

 

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

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

相关文章

DINO代码学习笔记(三)

DINO代码学习笔记(一)中已经将输入transformer之前的参数处理给捋了一遍 DINO代码学习笔记(二)中将encoder部分给捋了一遍 本篇进入decoder,这里先对encoder做一些假设,基于DINO代码学习笔记(…

使用Harbor 和 Kraken 优化镜像拉取速

一、P2P镜像分发简述 随着云原生架构被越来越多的企业接受,企业应用中容器集群的规模也越来越大。当容器集群达到一定的规模且单容器应用副本数达到一定级别时,集群中容器镜像的分发将面临挑战。   P2P(Peer-to-Peer,点对点&am…

股票策略社群实盘展示

量化策略开发,高质量社群,交易思路分享等相关内容 大家好,我是Le Chiffre 从今年1月份开始,我们开始了松鼠股票策略社群,历经5个月,发布了5个策略。其中有2个多因子,2个etf,1个网格…

一款企业级的供应链采购系统,已开源

介绍 基于pig微服务架构打造 供应链系统,采购配送系统。为客户提供仓储管理、订单管理、打单、货源采购、分拣、配送等系统功能。 软件架构 采用 J2EE 技术体系,基于Spring Cloud微服务框架进行封装,平台设计灵活可扩展、可移植、可应对高…

Java使用EasyCode自动生成代码工具分享

此为内容创作模板,在发布之前请将不必要的内容删除 做Java的项目开发,会使用各种代码自动生成工具,今天就来介绍一款EasyCode插件,废话不多说了,看看怎么安装和使用。 一、EasyCode插件 EasyCode的安装 在Idea的Sett…

在云服务器上安装MySQL (MariaDB) 数据库并与Python连接和互动

诸神缄默不语-个人CSDN博文目录 本文介绍如何在云服务器(CentOS)上安装MySQL数据库(其实是MariaDB数据库,但是当成MySQL用也没什么问题),并用pymysql与原生Python代码进行互动,或用Flask-SQLAl…

SpringSecurityOAuth已停更,来看一看进化版本Spring Authorization Server

Spring Authorization Server是Spring Security OAuth的进化版本,Spring Security OAuth官方已经宣布“End of Life”了。Spring Security OAuth使用的是OAuth2.0标准而Spring Authorization Serve引入了对OAuth 2.1和OpenID Connect 1.0规范的支持,并提…

开源赋能 普惠未来|OpenHarmony诚邀您参与2023开放原子全球开源峰会

OpenHarmony面向万物智联,秉持“生态统一、开放共赢”的理念,围绕“架构解耦、弹性部署”“自由流转、智慧协同”和“极简开发、一致体验”三大架构特征,构建分布式全场景协同的开源操作系统基座与生态系统。面向全场景、全连接、全智能时代&…

项目管理工具最新排名出炉,哪款最适合您?

项目管理工具当下已经成为项目团队的重要榜首,一款合适好用的项目管理工具可以帮助处理很多机械化工作,将管理者更多精力投入到更有价值的工作中,还可以帮助团队组织和计划项目,跟踪进度,处理预算和协作。 该如何挑选帮…

程序员必须掌握的消息中间件-RocketMQ

设计(design) 1 消息存储 消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从RocketMQ的消息存储整体架构、PageCache与Mmap内存映射以及RocketMQ中两种不同的刷盘方式三方面来分别展开叙述。 1.1 消息存储整体架构 消息存储架构图中主要有下面三个跟消息…

在centos7.9上以 All-in-One 模式安装 KubeSphere

文章目录 前言一、什么是 KubeSphere?二、环境准备1.虚拟机准备2.基础环境准备3.安装docker服务4.下载KubeKey安装工具5.开始安装6.安装结束,登陆验证 总结 前言 在centos7.9上以 All-in-One 模式安装 KubeSphere,在虚拟机上安装 一、什么是…

ABeam×Startup丨德硕管理咨询(深圳)创新研究团队拜访「超次元」,探索元宇宙

右一:超次元商务总监 卢佩瑜 左一、中:ABeam-SZ StartUp创新研究团队 ABeam旗下德硕管理咨询(深圳)有限公司(以下简称“ABeam-SZ”)创新研究团队一行前往广州,拜访了海南超次元数码科技有限公司…

【Linux】Centos7下给新用户添加sudo权限

直入正题: 我们用adduser创建新用户后,这个新用户是没有使用sudo的权限的。 比如我们创建一个新用户fortest: 这个用户是没有使用sudo的权限的: 我们可以在root下修改( /etc/sudoers )这个路径下的文件su…

实用工具篇(二):终端连接神器Tabby

1.Tabby概述 一名 Java 后端开发,日常工作中免不了要和 Linux 服务器打交道,因为生产环境基本上都是部署在 Linux 环境下的。以前我使用的终端工具都是FinalShell,但我又发现一款更好更方便的终端工具---Tabby。下面将介绍这款终端工具的安装…

11.动态规划:树形DP问题、树上最大独立集【灵神基础精讲】

文章目录 树形DP问题一、树的直径(二叉树>一般树)[543. 二叉树的直径](https://leetcode.cn/problems/diameter-of-binary-tree/)[124. 二叉树中的最大路径和](https://leetcode.cn/problems/binary-tree-maximum-path-sum/)🎱(树的直径)[…

机器学习常识 20: 全连接 BP 神经网络

摘要: BP (Backpropagation ) 神经网络是一个万能的函数模拟器. 所有的神经网络, 本质都是特征提取器 – 斯 ⋅ \cdot ⋅沃索地. 1. BP 神经网络的结构 图 1 给出一个四层神经网络. 输入层有 3 个端口, 表示数据有 3 个特征;第一个隐藏层有 5 个节点, 表示从 3 个特征提出了…

hdfs中acl权限管理的简单实用

1、背景 在我们开发的过程中有这么一种场景, /projectA 目录是 hadoopdeploy用户创建的,他对这个目录有wrx权限,同时这个目录属于supergroup,在这个组中的用户也具有这个目录的wrx权限,对于其他人,不可访问这个目录。…

[时间同步]NTPPTPgPTP

为什么时间同步很重要? 出于诸多原因,精确的时间对于网络至关重要,比如: 网络管理:从不同网络设备采集来的日志信息进行分析时,需要以时间作为参照依据。如果不同设备上的系统时间不一致,会因…

Docker 容器互联

-v 宿主机与容器互联 第一步在本机建立共享目录:share 第二步创建容器,将容器opt目录挂载到本机的/opt/share目录上 -v 宿主机目录/文件:容器目录/文件 #将宿主机目录/文件挂载到容器做数据卷 这个时候test1 /opt和本机/opt/share已经可以实现共享 …

如何在 Dev-Cpp 中配置 easyx 图形库?看这就够了,超详细(gif 图例演示)!

笔者的相关学习集文章,欢迎前来学习与交流: C 入门到入土!!!学习合集Linux 从命令到网络再到内核!学习合集 言归正传,本期内容:如何在Dev-Cpp中配置easyx图形库?看这就够…