一、准备材料
1、参考资料
- 《STM32F103xCDE_DS_CH_V5.pdf》
- 《STM32中文参考手册_V10.pdf》
2、器件准备
二、原则说明
1.确定可用的引脚 2.蜂鸣器外围设备连接
单片机引脚不能直接驱动高概率装置,需要加三极管放大电流,10K蜂鸣器干扰电阻是为了防止单片机驱动。
当GPIO输出低电时蜂鸣器响,高电时不响。
三、实物连接
四、实现代码
- .h文件
#ifndef __BEEP_H #define __BEEP_H #include "sys.h" #define BEEP PAout(5) // PA5 =1:不响;=0:响 void BEEP_Init(void);//初始化 #endif
- .c文件
#include "beep.h" void BEEP_Init(void) {
GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //BEEP--PA5端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); //GPIOA.5 GPIO_SetBits(GPIOA,GPIO_Pin_5); //PB.5 输出高 关闭蜂鸣器 }
主函数没有发布,有两个文件,写主函数不是问题,提示蜂鸣器的使用实际上是GPIO因此,使用输出功能并点亮LED没有区别!