首页 > 其他分享 >STM32f103 蜂鸣器发声

STM32f103 蜂鸣器发声

时间:2022-12-02 14:36:49浏览次数:44  
标签:STM32f103 发声 HAL PIN IO GPIO 蜂鸣器 STM32F1

一、 蜂鸣器简介

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、 复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
精英 STM32F103 板载的蜂鸣器是电磁式的有源蜂鸣器,如图所示

                                                   

 有源蜂鸣器:自带了震荡电路, 一通电就会发声;
 无源蜂鸣器:没有自带震荡电路,必须外部提供 2~5Khz 左右的方波驱动, 才能发声。
STM32F1 的单个 IO 最大可以提供 25mA 电流(来自数据手册),而蜂鸣器的驱动电流是 30mA 左右,两者十分相近,但是全盘考虑,STM32F1 整个芯片的电流,最大也就 150mA,如果用 IO 口直接驱动蜂鸣器,其他地方用电就得省着点了…所以,我们不用 STM32F1 的 IO 直接驱动 蜂鸣器,而是通过三极管扩流后再驱动蜂鸣器,这样 STM32F1 的 IO 只需要提供不到 1mA 的 电流就足够了。
IO 口使用虽然简单,但是和外部电路的匹配设计,还是要十分讲究的,考虑越多,设计就 越可靠,可能出现的问题也就越少。


三、软件

    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);  //DS0 拉低,亮   
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);  //BEEP 引脚拉低  
    HAL_Delay(300); //延时 300ms
        
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET); //DS0 拉高,灭    
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET); //BEEP 引脚拉高   
    HAL_Delay(300); //延时 300ms

四、效果

可以看到 DS0 亮的时候蜂鸣器不叫,而 DS0 灭的时候,蜂鸣器叫(因为他们的有效信号相反)。间隔为 0.3 秒左右,符合预期设计。
 

 

标签:STM32f103,发声,HAL,PIN,IO,GPIO,蜂鸣器,STM32F1
From: https://www.cnblogs.com/CC-C/p/16944368.html

相关文章

  • STM32f103Zet6 跑马灯实验
    一、硬件  LED0(DS0)和LED1(DS1)分别接在PB5和PE5上,低电平LED亮。 在CubeMX中,将PB5,PE5设为GPIO_Output. 二、软件HAL库:HAL_GPIO_WritePin(GPIOB,G......
  • 例程分析2:GBIO口输出——蜂鸣器
    代码分析一、宏定义<bsp_deep.h>:1.对蜂鸣器的GPIO的端口、时钟、具体引脚的宏定义 2.宏定义高低电平 3.设置定义带参宏    二......
  • 迅为3399开发板Qt蜂鸣器和LED测试
    QLed测试资料在网盘“iTOP-3399开发板\iTOP-3399开发板\02_iTop-RK3399开发资料汇总(不含光盘内容)\05_iTOP-3399开发板Qt应用开发资料\3399开发板QT测试-QtLED......
  • STM32F103系列默认没有内置USB DFU功能
    STM32F103系列默认没有内置USBDFU功能,不能通过进入DFU模式,通过USB对程序进行更新,虽然在调试阶段用比如jlink、STlink等仿真器进行程序的烧录更新,但是总是不太方便,毕竟不......
  • STM32F103的一些知识
    一、前言为了方便理解和查阅本人所需的知识,在此做笔记。知识点来源书本与网络,如有侵权,联系删除。二、GPIO定义一个GPIO_InitTypeDef类型结构体GPIO_InitTypeDefGPI......
  • stm32f103指南者——使用寄存器点亮LED灯
    一.使用keil5新建工程模板①Project--Newproject新建一个项目——(LED-REG)建立两个文档listings(目录),output(输出)②新建头文件stm32f10x.h和c文件main.c③添加启动文件......
  • 【c&c++】 cjson使用_Keil环境下Jansson解析库的使用——基于STM32F103
    前言之前我曾经写过几个JSON解析库的使用方法:Qt平台下使用QJson解析和构建JSON字符串使用cJSON库解析JSON使用cJSON库构建JSON对于嵌入式开发,比较常用的就是cJSON解析......
  • STMicroelectronics STM32F103C8
    STMicroelectronics STM32F103C8ARMCortex-M3,72MHz,64kBROM,20kBRAMSTMicroelectronics'STM32F1seriesofmainstreamMCUscoverstheneedsofalar......
  • AT24C02 by stm32f103 hal
    AT24C02是一款拥有256bytes(32Page)的EEPROM.一:特点(部分)1:双线接口;2:双向数据传输协议;3:400KHz波特率;4:硬件写保护;5:最大5ms写入同步;6:100万次写操作;7:100年数据存储。......
  • QEMU 仿真模拟 STM32 最小开发板 STM32F103
    软件介绍QEMU是一款开源虚拟机,可以用来模拟各种系统开发板,当然也可以用来模拟stm32的开发板QEMU官方说明文档在此https://www.qemu.org/docs/master/system/ar......