美文网首页我爱编程
2.STM32之蜂鸣器控制

2.STM32之蜂鸣器控制

作者: 东方未曦 | 来源:发表于2016-06-27 09:54 被阅读1571次

蜂鸣器与LED在GPIO口的配置上一模一样,也是通过GPIO_InitTypeDef结构体进行初始化。

beep.h源代码
#ifndef __BEEP_H
#define __BEEP_H

#include "stm32f10x.h"

//与LED的宏定义类似,通过简单的代码来指示蜂鸣器的开关。
#define BEEP_ON  GPIO_SetBits( GPIOB, GPIO_Pin_8 )
#define BEEP_OFF GPIO_ResetBits( GPIOB, GPIO_Pin_8 )

void BEEP_Init(void);

#endif
beep.c源代码
#include "beep.h"

//蜂鸣器初始化函数
//对比LED灯的初始化函数我们会发现只有管脚改变了。
void BEEP_Init(void)
{

  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

  //定义蜂鸣器的管脚PB8并初始化。
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);

}
蜂鸣器模块原理图

蜂鸣器原理图看着复杂,其实跟LED灯一样是通过GPIO口的高低电平来控制蜂鸣器的开关。

主函数main.c
#include "stm32f10x.h"
#include "beep.h"

int main(void)
{
    BEEP_Init();
    while(1)
    {
        BEEP_ON;
    }
}

相关文章

  • 2.STM32之蜂鸣器控制

    蜂鸣器与LED在GPIO口的配置上一模一样,也是通过GPIO_InitTypeDef结构体进行初始化。 beep....

  • 蜂鸣器的控制linux

    蜂鸣器的控制linux 1设备的节点 2控制方法,输入1,蜂鸣器响,输入0蜂鸣器停止 3控制代码

  • 12/15

    今天学习了用开关2控制蜂鸣器的响声,按键控制蜂鸣器利用中断。中断调用子函数。

  • Arduino基础入门篇08—播放音乐

    本篇介绍电子产品中的发声器件—蜂鸣器,通过控制蜂鸣器播放「葫芦娃」,带你回归美好童年。 1. 了解蜂鸣器 蜂鸣器是...

  • Shell脚本弹奏中文版“生日快乐歌”

    在《Shell命令控制蜂鸣器发声》一文中,我们了解到了如何在Ubuntu下安装beep命令来控制PC主板上蜂鸣器发...

  • 老王单片机蜂鸣器

    电路使用了单片机的I/0口P2.3来控制蜂鸣器。但是,图中并没有用P2.3直接控制蜂鸣器,而是通过三极管8550间...

  • 【树莓派+arduino实验记录6】无源与有源蜂鸣器

    Arduino 有源蜂鸣器 无源蜂鸣器 树莓派 有源蜂鸣器 C Python 无源蜂鸣器 C Python

  • 内联汇编控制PC蜂鸣器

    有了《初识Linux汇编》和《I/O映射之I/O端口》两篇文章的基础学习后,我们对控制PC蜂鸣器的操作改为使用内联...

  • Shell命令控制蜂鸣器发声

    在《I/O映射之I/O端口》一文中我们实现了在Linux驱动里通过IO端口操作PC机蜂鸣器发声,那么在Shell脚...

  • 树莓派基础实验9:蜂鸣器实验

    一、介绍    蜂鸣器是音频信号装置,蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器直接接上额定电源就可以连续发声...

网友评论

    本文标题:2.STM32之蜂鸣器控制

    本文链接:https://www.haomeiwen.com/subject/pwszdttx.html