stm32第四天控制蜂鸣器
一:
1.蜂鸣器的种类
蜂鸣器是一种常用的电子发声元器件,采用直流电压供电。广泛应用于计算机,打ED机,报警器,电子玩具,汽车电子设备灯等产品中常见的蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。
2.蜂鸣器的控制方式
有源蜂鸣器:内部有震荡源,只要通电即可自动发出固定频率的声音。(频率固定无法控制音色)
无源蜂鸣器:内部无震荡源,需要外部脉冲信号驱动发声,声音频率可变。(可改变频率来改变音色)
3.区分蜂鸣器
从外观上来看两种蜂鸣器形状相似,有源蜂呜器底部有黑胶密封。无源峰鸣器底部可以看到电路板,两种蜂鸣器都标注有正负极。
4:软件设计流程
·初始化系统
。 初始化GPIO外设时钟GPIOA
。 初始化蜂鸣器的引脚 A3
。输出电平控制蜂鸣题
5:写工程
a:建立bear(蜂鸣器)的.c文件
#include"Bear.h"
#include"stm32f10x.h"
void Bear_Init(void)//蜂鸣器的初始化函数
{
//有两个步骤,1:初始化蜂鸣器引脚A3 2:初始化时钟,
GPIO_InitTypeDef Bear_Initstrurt;//初始化蜂鸣器结构体,这一句是定义一个结构体变量
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE );//初始化APB2下的GPIO时钟
//下面是配置结构体的参数
Bear_Initstrurt.GPIO_Pin=GPIO_Pin_3;//配置引脚为GPIO_PIN_3,也就是GPIOA3引脚
Bear_Initstrurt.GPIO_Speed=GPIO_Speed_10MHz;//配置A3引脚传输速度为10MHZ
Bear_Initstrurt.GPIO_Mode=GPIO_Mode_Out_PP;//配置A3引脚输出模式为推挽输出
GPIO_Init(GPIOA,&Bear_Initstrurt);//初始化GPIOA3的结构体
}
b:写Bear.h(头文件)
void Bear_Init(void);//声明函数
c:写main主函数
#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "Bear.h"
void delay(uint16_t time)//延时1ms 软件延时粗延时
{
uint16_t i=0;
while(time --)
{
i=12000;
while(i --);
}
}
int main()
{
LED_Init();
Bear_Init();//初始化蜂鸣器的引脚GPIO A3
while(1)
{
GPIO_ResetBits(GPIOA, GPIO_Pin_3);//让GPIO A3输出低电平,蜂鸣器就响了
}
}