美文网首页我爱编程
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之蜂鸣器控制

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