stm32第四天控制蜂鸣器

[复制链接]
发表于 2025-10-16 11:12:03 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表