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

STM32 蜂鸣器报警

蜂鸣器  分有源蜂鸣器  和 无源蜂鸣器  低电平触发 高电平触发

这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的方波去驱动它,但是这使得无源蜂鸣器可以定制闹铃

低电平触发:是指I/O口接低电平即 Reset 时导通。

高电平触发:是指I/O口接高电平即set时导通。

原理和LED是一样的,只不过在接线的时候要接3.3v和GND

下面是beep.c文件代码

include "beep.h"
#include "sys.h"

//①定义初始化结构体
    GPIO_InitTypeDef gpio_initstruct;
//②初始化GPIO函数
void beep_init(void)
{
    //打开时钟
    __HAL_RCC_GPIOB_CLK_ENABLE();   //注意看硬件原理图中beep灯的引脚在哪一个组
    //调用GPIO初始化函数
    gpio_initstruct.Pin = GPIO_PIN_8;
    gpio_initstruct.Pull = GPIO_PULLUP;
    gpio_initstruct.Mode =GPIO_MODE_OUTPUT_PP;
    gpio_initstruct.Speed =GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOB,&gpio_initstruct);
    //关闭beep灯
    beep_off();
    
}

//③开启beep的函数
void beep_on(void)
{
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET);    //RESET 为高电平

}
//④关闭beep的函数
void beep_off(void)
{
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET);      //SET 为低电平

}

注意和LED唯一的区别就是不需要翻转函数。


http://www.kler.cn/a/407094.html

相关文章:

  • (十一)Python字符串常用操作
  • 深入理解索引(一)
  • 微信小程序技术架构图
  • Spark——安装步骤详细教程
  • Qt-多元素控件
  • IDEA2023 SpringBoot整合MyBatis(三)
  • 设计模式之 适配器模式
  • Redis自学之路—高级数据结构具体方法解析(六)
  • <硬件有关> 内存攒机认知入门,内存的选择 配置 laptop PC 服务器
  • Wekan看板安装部署与使用介绍
  • 使用OpenSSL创建CA,并基于CA创建证书
  • ctfshow
  • 彻底理解Redis的持久化方式
  • type和interface的区别
  • 蓝队基础,网络七杀伤链详解
  • [C语言]第十三节 指针一基础知识到高级技巧的全景探索
  • BERT的中文问答系统39
  • 4644 DCDC电源芯片在相控阵雷达的应用(完整版)
  • Metasploit模块具体有哪些?
  • Dubbo集成SpringBoot实现远程服务调用
  • Flink Transformation - 转换算子全面解析
  • YOLOv11融合针对去雾场景的DEA-Net中的细节增强注意力模块及相关改进思路
  • [C/C++][FFmpeg] 关于avcodec_send_frame(encoder_ctx, NULL) 的解释
  • 力扣-Hot100-图论【算法学习day.38】
  • 基于Java Springboot高校教务管理系统
  • 【编程题目】列表、元组及集合