当前位置: 首页 > news >正文

STM32小实验三--让蜂鸣器响起来

1.实验目的

驱动蜂鸣器以 500ms 间隔鸣响。

2.硬件清单

  • STM32
  • ST-Link
  • 蜂鸣器

3.硬件连接

在这里插入图片描述

4.代码

4.1beep.c

#include "beep.h"
#include "sys.h"
//初始化GPIO函数
void beep_init(void)
{GPIO_InitTypeDef gpio_initstruct;//打开时钟__HAL_RCC_GPIOA_CLK_ENABLE();//调用GPIO初始化函数gpio_initstruct.Pin = GPIO_PIN_8;gpio_initstruct.Mode = GPIO_MODE_OUTPUT_PP;gpio_initstruct.Pull = GPIO_PULLUP;gpio_initstruct.Speed = GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(GPIOA,&gpio_initstruct);//关闭蜂鸣器beep_off();
}
//打开蜂鸣器的函数
void beep_on(void)
{HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET);
}
//关闭蜂鸣器的函数
void beep_off(void)
{HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);
}

这个代码和点亮LED的代码几乎一模一样,我将函数的名字都换为了beep,然后是驱动GPIOA的8引脚驱动蜂鸣器。

4.2beep.h

#ifndef __BEEP_H__
#define __BEEP_H__void beep_init(void);
void beep_on(void);
void beep_off(void);#endif

这个没什么可说的

4.3main.c

#include "sys.h"
#include "delay.h"
#include "beep.h"
int main(void)
{HAL_Init();                         /* 初始化HAL库 */stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72Mhz */beep_init();while(1){ beep_on();delay_ms(500);beep_off();delay_ms(500);}
}

这个就是让蜂鸣器间隔0.5秒响一次,也很简单。
完结


文章转载自:
http://affectless.isnyv.cn
http://captress.isnyv.cn
http://bronchobuster.isnyv.cn
http://calloused.isnyv.cn
http://bonspiel.isnyv.cn
http://brava.isnyv.cn
http://babi.isnyv.cn
http://admire.isnyv.cn
http://chelator.isnyv.cn
http://archiepiscopate.isnyv.cn
http://caritas.isnyv.cn
http://bohunk.isnyv.cn
http://attestative.isnyv.cn
http://cabob.isnyv.cn
http://bauxite.isnyv.cn
http://chemisette.isnyv.cn
http://bellmouthed.isnyv.cn
http://chrissie.isnyv.cn
http://biolysis.isnyv.cn
http://bofors.isnyv.cn
http://alburnous.isnyv.cn
http://bandh.isnyv.cn
http://bifunctional.isnyv.cn
http://autoconditioning.isnyv.cn
http://chenopod.isnyv.cn
http://childing.isnyv.cn
http://backsheesh.isnyv.cn
http://boletus.isnyv.cn
http://bracteolate.isnyv.cn
http://caiaphas.isnyv.cn
http://www.dtcms.com/a/280360.html

相关文章:

  • Pytorch中张量的索引和切片使用详解和代码示例
  • CSS的初步学习
  • 用语音识别芯片驱动TFT屏幕还有链接蓝牙功能?
  • cursor使用mcp连接mysql数据库,url方式
  • java截取视频帧
  • c#进阶之数据结构(字符串篇)----String
  • C++中list各种基本接口的模拟实现
  • 【Java代码审计(2)】MyBatis XML 注入审计
  • 153.在 Vue 3 中使用 OpenLayers + Cesium 实现 2D/3D 地图切换效果
  • java中的接口
  • JavaScript 动态访问嵌套对象属性问题记录
  • HarmonyOS-ArkUI: Web组件加载流程1
  • 暴力破解:攻破系统的终极密钥
  • Rust指针选择
  • 安装带GPU的docker环境
  • 20250715使用荣品RD-RK3588开发板在Android13下接入USB3.0接口的红外相机
  • 【I3D 2024】Deblur-GS: 3D Gaussian Splatting from Camera Motion Blurred Images
  • 记录一条面试sql题目
  • JS中async/await功能介绍和使用演示
  • 普通字符类型和new String有什么区别
  • 使用JS编写动态表格
  • 【env环境】rtthread5.1.0使用fal组件
  • AI的外挂知识库,RAG检索增强生成技术
  • 【PTA数据结构 | C语言版】将表达式树转换成中缀表达式
  • 数仓面试题
  • 2025最新国产用例管理工具评测:Gitee Test、禅道、蓝凌测试、TestOps 哪家更懂研发协同?
  • docker停止所有容器和删除所有镜像
  • 从一道题目(阿里2014 Crackme_2)开启unidbg还原算法入门(转载)
  • 强化学习书籍
  • vscode 打开c++文件注释乱码