实验 6-1:蜂鸣器的配置使用
目的:掌握 STM32 控制蜂鸣器的基本方法。
第 1 步:打开上一个 SysTick 实验的扩展实验 5-2,实现 D1-D8 的流水灯显示,并实现精确
延时。将代码烧录至芯片,观察开发板,确认实验结果和代码正确。
第 2 步:编写蜂鸣器驱动代码
在工程里新建 beep.c 和 beep.h 文件,并在 APP 目录下,新建一个 Beep 文件夹。将上述
两个新建的文件存放在 Beep 文件夹内。( 新建文件的方法在前面实验中已经做过,忘了的
话就查看之前的实验文档)。
beep.c 文件内容如下:
#include "beep.h"
/****************************************************************
***************
* 函 数 名 : BEEP_Init
* 函数功能 : 蜂鸣器初始化
* 输 入 : 无
* 输 出 : 无
*****************************************************************
**************/
void BEEP_Init() //端口初始化
{
GPIO_InitTypeDef GPIO_InitStructure; //声明一个结构体变量,用来初始化 GPIO
RCC_APB2PeriphClockCmd(BEEP_PORT_RCC,ENABLE); /*开启 GPIO 时钟*/
/*配置 GPIO 的模式和 IO 口*/
GPIO_InitStructure.GPIO_Pin=BEEP_PIN; //选择你要设置的 IO 口
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; // 设置推挽输出模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率
GPIO_Init(BEEP_PORT,&GPIO_InitStructure); //初始化 GPIO
}
beep.h 文件内容如下:
#ifndef _beep_H
#define _beep_H
#include "system.h"
/* 蜂鸣器时钟端口、引脚定义 */
#define BEEP_PORT GPIOB
#define BEEP_PIN GPIO_Pin_5
#define BEEP_PORT_RCC RCC_APB2Periph_GPIOB
评论0