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输出低电平,蜂鸣器就响了
		 
		 
		
	 }
		 
   
}
相关推荐
honey ball16 分钟前
时钟频率和GPIO的设定【DSP】
单片机·嵌入式硬件
爱学习的张哥1 小时前
IP层之分片包的整合处理---BUG修复
单片机·tcp/ip·bug
ElePower95271 小时前
浅谈时钟启动和Systemlnit函数
单片机·嵌入式硬件
阿楠小波2 小时前
蓝桥杯嵌入式组第十二届省赛题目解析+STM32G431RBT6实现源码
c语言·stm32·单片机·学习·蓝桥杯
小麦嵌入式2 小时前
Linux驱动开发实战(四):设备树点RGB灯
linux·驱动开发·stm32·单片机·嵌入式硬件·物联网·ubuntu
风起逸尘2 小时前
硬件驱动——51单片机、LED、动态数码管
单片机·嵌入式硬件·51单片机
时空自由民.2 小时前
stm32官方 gcc编译案例
stm32·单片机·嵌入式硬件
与光同尘 大道至简2 小时前
从硬件定时器原理学会多任务调度
stm32·单片机·嵌入式硬件
Wnq100723 小时前
DDS:保障物联网系统的稳定运行和高效协作
java·数据结构·分布式·嵌入式硬件·物联网·深度优先·信号处理
weixin_580382066 小时前
stm32中分析UART中IDLE,RXNE,TC,TXE这些标志位的作用
stm32·单片机·嵌入式硬件