stm32蜂鸣器实验

发布者:乐观向前最新更新时间:2022-06-27 来源: eefocus关键字:stm32  蜂鸣器实验  IO口 手机看文章 扫描二维码
随时随地手机看文章

硬件连接:

提示:不能通过IO口直接驱动大功率器件

file

实验步骤:

使能IO口时钟。调用RCC_APB2PeriphColckCmd();

初始化IO口模式。调用函数BEEP_Init();

操作IO口,输出高低电平。

代码:

beep.h:


#ifndef __BEEP_H

#define __BEEP_H     

#include "sys.h"

 

//蜂鸣器端口定义

#define BEEP PBout(8)   // BEEP映射到PB8,蜂鸣器接口        

 

void BEEP_Init(void);   //初始化

 

#endif


beep.c:


include "beep.h"

 

 

//初始化PB8为输出口.并使能这个口的时钟

//蜂鸣器初始化

 

void BEEP_Init(void)

{

 

 GPIO_InitTypeDef  GPIO_InitStructure;

 

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);   //使能GPIOB端口时钟

 

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;               //BEEP-->PB.8 端口配置

 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //推挽输出

 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   //速度为50MHz

 GPIO_Init(GPIOB, &GPIO_InitStructure);  //根据参数初始化GPIOB.8

 

 GPIO_ResetBits(GPIOB,GPIO_Pin_8);//输出0,关闭蜂鸣器输出

 

}


main.c


#include "sys.h"   

#include "delay.h"  

#include "led.h" 

#include "beep.h" 

 

 int main(void)

 {

    delay_init();            //延时函数初始化    

    LED_Init();             //初始化与LED连接的硬件接口

    BEEP_Init();            //初始化蜂鸣器端口

    while(1)

    {

        LED0=0;

        BEEP=0;       

        delay_ms(300);//延时300ms

        LED0=1;   

        BEEP=1;  

        delay_ms(300);//延时300ms

    }

 }


关键字:stm32  蜂鸣器实验  IO口 引用地址:stm32蜂鸣器实验

上一篇:stn32按键输入实验——GPIO作输入
下一篇:stm32跑马灯——寄存器和位操作

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved