stm32第四天控制蜂鸣器

一:

1.蜂鸣器的种类
蜂鸣器是一种常用的电子发声元器件,采用直流电压供电。广泛应用于计算机,打ED机,报警器,电子玩具,汽车电子设备灯等产品中常见的蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。
2.蜂鸣器的控制方式
有源蜂鸣器:内部有震荡源,只要通电即可自动发出固定频率的声音。(频率固定无法控制音色)
无源蜂鸣器:内部无震荡源,需要外部脉冲信号驱动发声,声音频率可变。(可改变频率来改变音色)
3.区分蜂鸣器
从外观上来看两种蜂鸣器形状相似,有源蜂呜器底部有黑胶密封。无源峰鸣器底部可以看到电路板,两种蜂鸣器都标注有正负极。

4:软件设计流程
·初始化系统
。 初始化GPIO外设时钟GPIOA
。 初始化蜂鸣器的引脚 A3
。输出电平控制蜂鸣题

5:写工程

a:建立bear(蜂鸣器)的.c文件

#include"Bear.h"
#include"stm32f10x.h"void Bear_Init(void)//蜂鸣器的初始化函数
{//有两个步骤,1:初始化蜂鸣器引脚A3 2:初始化时钟,GPIO_InitTypeDef Bear_Initstrurt;//初始化蜂鸣器结构体,这一句是定义一个结构体变量RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE );//初始化APB2下的GPIO时钟//下面是配置结构体的参数Bear_Initstrurt.GPIO_Pin=GPIO_Pin_3;//配置引脚为GPIO_PIN_3,也就是GPIOA3引脚Bear_Initstrurt.GPIO_Speed=GPIO_Speed_10MHz;//配置A3引脚传输速度为10MHZBear_Initstrurt.GPIO_Mode=GPIO_Mode_Out_PP;//配置A3引脚输出模式为推挽输出GPIO_Init(GPIOA,&Bear_Initstrurt);//初始化GPIOA3的结构体}

b:写Bear.h(头文件)

void Bear_Init(void);//声明函数

c:写main主函数

#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "Bear.h"void delay(uint16_t time)//延时1ms  软件延时粗延时
{uint16_t i=0;while(time --){i=12000;while(i --);}}int  main()
{LED_Init();Bear_Init();//初始化蜂鸣器的引脚GPIO A3while(1){GPIO_ResetBits(GPIOA, GPIO_Pin_3);//让GPIO A3输出低电平,蜂鸣器就响了}}

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

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

相关文章

Swift 中 associatedtype 的用法详解

目录 前言 1.什么是associatedtype 2.associatedtype 的作用 1.让协议支持泛型 2.让协议支持不同的数据类型 3.结合 where 关键字限制类型 4.什么时候使用 associatedtype 5.总结 前言 在 Swift 语言中,泛型(Generics)是一个非常强大…

每日Attention学习26——Dynamic Weighted Feature Fusion

模块出处 [ACM MM 23] [link] [code] Efficient Parallel Multi-Scale Detail and Semantic Encoding Network for Lightweight Semantic Segmentation 模块名称 Dynamic Weighted Feature Fusion (DWFF) 模块作用 双级特征融合 模块结构 模块思想 我们提出了 DWFF 策略&am…

OpenCV实现图像特征提取与匹配

‌一、特征检测与描述子提取‌ ‌选择特征检测器‌ 常用算法包括: ‌ORB‌:一种高效的替代SIFT和SURF的算法,主要用于移动机器人和增强现实等领域。适合实时应用,结合FAST关键点与BRIEF描述子‌。‌SIFT(尺度不变特征变…

向量检索在AI中的应用与技术解析

关键要点 向量检索在AI中用于信息检索、推荐系统和图像搜索,研究表明其通过高维空间中的向量表示数据来提升搜索相关性。它依赖于嵌入技术(如Word2Vec、BERT)和近邻算法(如kNN、ANN),证据倾向于其在处理大…

事务与异步方法(@Async)协同工作

目录 1. 问题场景与风险 (1)典型场景 (2)风险分析 2. 解决方案:事务提交后触发异步操作 (1)代码示例 (2)关键注解 3. 原理解析 (1)事务同…

关于进程的实验(子进程和父进程相关的)

文章目录 1.第一个问题2.第二个问题3.第三个问题 1.第一个问题 编写一段程序,利用系统调用fork( )创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显…

MyBatis 如何创建 SqlSession 对象的?

MyBatis 创建 SqlSession 对象的过程主要由 SqlSessionFactory 接口及其实现类来完成。以下是详细步骤: 1. SqlSessionFactory 接口: SqlSessionFactory 是 MyBatis 的核心接口之一,它负责创建 SqlSession 对象。 你可以将 SqlSessionFactory 视为 Sql…

深度优先搜索(DFS)剪枝技术详解与C++实现

深度优先搜索(DFS)剪枝技术通过提前终止无效路径的搜索,大幅提升算法效率。以下是五种核心剪枝技术的详细解析及C代码示例: 目录 一、可行性剪枝 C实现示例 二、搜索顺序剪枝 伪代码逻辑 三、最优性剪枝 C实现示例 四、排除…

【双指针】移动零

题目描述: 算法分析: 观察输入输出: 输出中一共分为两个区域,0区和非零区。 但是在处理未完成之前,必然存在着一个零和非零数共存的区域,所以在处理的过程当中一共有三个区域,0区,…

学习15天:pytest

1、.pytest强大的插件 pytest-html(生成html格式的自动化测试报告) pytest-xdist测试用例分布式执行。多CPU分发。 pytest-ordering 用于改变测试用例的执行顺序 pytest-rerunfailures用例失败后重跑 allure-pytest 用于生成美观的测试报告。 2、规则: 模块…

股票交易所官方api接口有哪些?获取和使用需要满足什么条件

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…

2.7 滑动窗口专题:串联所有单词的子串

LeetCode 30. 串联所有单词的子串算法对比分析 1. 题目链接 LeetCode 30. 串联所有单词的子串 2. 题目描述 给定一个字符串 s 和一个字符串数组 words,words 中所有单词长度相同。要求找到 s 中所有起始索引,使得从该位置开始的连续子串包含 words 中所…

【区块链】区块链密码学基础

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 区块链密码学基础引言一、哈希函数1.1 基本概念1.2 数学表达 二、非对称加密2.1…

Spring Boot配置类原理、Spring Boot核心机制理解,以及实现自动装置的底层原理

目的:从底层源码角度分析 Spring Boot 配置类以及自动装载的底层原理 文章目录 1. Spring Boot 配置类实现自动装载1.1 @Configuration注解1.2 @Configuration 注解完成 bean 注入流程图1.3 @ConfigurationProperties注解赋值2. Spring Boot的核心机制:自动装配2.1 @SpringBo…

docker桌面版启动redis,解决无法连接

docker run -d --name redis -p 6379:6379 -v E:\2\redis\redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf 在本地创建一个目录,里面有个redis.conf文件,内容如下,启动时绑定这个配置文件目…

[网络][tcp协议]:tcp报头

tcp(传输控制协议)是一种面向字节流的传输层协议,相较于udp协议,tcp能保证传输数据的可靠性与准确性,tcp也是目前最常见的传输层协议 本文主要介绍tcp报头各个字段的含义与用途 注:保留6位和6位标记位是目前最普遍的写法,在我查资料时,发现有一些拓展情况,会在后文细说 最简单的…

【虚幻C++笔记】引擎源码下载及编译步骤

目录 1.在GitHub上访问虚幻引擎源代码2.安装Visual Studio 20223.解压完成以后,打开源码的根目录,选择Setup.bat运行4.选择GenerateProjectFiles.bat运行,生成uE5.sln文件,点击这个文件打开项目5.设置编译的选项,选择DevelopmentE…

【数学建模】层次分析法(AHP)详解及其应用

层次分析法(AHP)详解及其应用 引言 在现实生活和工作中,我们经常面临复杂的决策问题,这些问题通常涉及多个评价准则,且各准则之间可能存在相互影响。如何在这些复杂因素中做出合理的决策?层次分析法(Analytic Hierarchy Process…

科普:为何要对特征进行分箱?

一、为何要对特征进行分箱? 分箱(Binning)是将连续型或离散型特征转化为区间型变量的过程,其核心目标是提升模型效果和解释性,具体原因如下: 1. 业务需求 可解释性:将特征转化为业务可理解的…

理解langgraph工作流的驱动逻辑,以适应langgraph工作流模式的编程。

langgraph的工作流模式虽然方便直观,但习惯了普通函数式编程的数据流处理。刚开始接触时,确实容易试图用函数式编程的思维去适配它,特别是langgraph数据传递由状态字典管理,而非函数返回值,导致代码不够自然&#xff0…