stm32第四天控制蜂鸣器

一:

1.蜂鸣器的种类

蜂鸣器是一种常用的电子发声元器件,采用直流电压供电。广泛应用于计算机,打ED机,报警器,电子玩具,汽车电子设备灯等产品中常见的蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。
2.蜂鸣器的控制方式

有源蜂鸣器:内部有震荡源,只要通电即可自动发出固定频率的声音。(频率固定无法控制音色)

无源蜂鸣器:内部无震荡源,需要外部脉冲信号驱动发声,声音频率可变。(可改变频率来改变音色)
3.区分蜂鸣器

从外观上来看两种蜂鸣器形状相似,有源蜂呜器底部有黑胶密封。无源峰鸣器底部可以看到电路板,两种蜂鸣器都标注有正负极。

4:软件设计流程

·初始化系统

。 初始化GPIO外设时钟GPIOA

。 初始化蜂鸣器的引脚 A3

。输出电平控制蜂鸣题

5:写工程

a:建立bear(蜂鸣器)的.c文件

cs 复制代码
#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(头文件)

cs 复制代码
void Bear_Init(void);//声明函数

c:写main主函数

cs 复制代码
#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输出低电平,蜂鸣器就响了
		 
		 
		
	 }
		 
   
}
相关推荐
电子小子洋酱21 分钟前
ESP32移植Openharmony外设篇(10)inmp441麦克风
单片机·物联网·华为·harmonyos·鸿蒙
智木芯语26 分钟前
【21】单片机编程核心技巧:if语句逻辑与真假判断
单片机·嵌入式·#stm32·#stc8
美好的事情总会发生31 分钟前
LVDS(Low Voltage Differential Signaling)电平详解
嵌入式硬件·硬件工程·智能硬件
煜3642 小时前
stm32 蓝桥杯 物联网 独立键盘的使用
stm32·物联网·蓝桥杯
honey ball3 小时前
时钟频率和GPIO的设定【DSP】
单片机·嵌入式硬件
爱学习的张哥3 小时前
IP层之分片包的整合处理---BUG修复
单片机·tcp/ip·bug
ElePower95274 小时前
浅谈时钟启动和Systemlnit函数
单片机·嵌入式硬件
阿楠小波4 小时前
蓝桥杯嵌入式组第十二届省赛题目解析+STM32G431RBT6实现源码
c语言·stm32·单片机·学习·蓝桥杯
小麦嵌入式5 小时前
Linux驱动开发实战(四):设备树点RGB灯
linux·驱动开发·stm32·单片机·嵌入式硬件·物联网·ubuntu
风起逸尘5 小时前
硬件驱动——51单片机、LED、动态数码管
单片机·嵌入式硬件·51单片机