stm32f407探索者开发板(七)——蜂鸣器实验

简介: stm32f407探索者开发板(七)——蜂鸣器实验

一、蜂鸣器的硬件连接


0a2653c851af460fa595bd959398a8f1.png

BEEP输出高电平,二极管导通,蜂鸣器开始工作。R61就是一个下拉电阻,防止浮空以及干扰


二、蜂鸣器


使能IO口时钟。调用函数RCC_ AHB1PeriphClockCmd(),

不同的外设调用的时钟使能函数可能不一样

初始化IO口模式。调用函数GPIO_ Init();

操作IO口,输出高低电平。


GPIO_InitTypeDef  GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOF时钟
  //初始化蜂鸣器对应引脚GPIOF8
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//下拉
  GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化GPIO
  GPIO_ResetBits(GPIOF,GPIO_Pin_8);  //蜂鸣器对应引脚GPIOF8拉低,


其中RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);其中RCC_AHB1Periph_GPIOF

对应#define RCC_AHB1Periph_GPIOF ((uint32_t)0x00000020)


delay_init(168);     //初始化延时函数
  LED_Init();        //初始化LED端口
  BEEP_Init();          //初始化蜂鸣器端口
  while(1)
  { 
  GPIO_ResetBits(GPIOF,GPIO_Pin_9); // DS0拉低,亮   等同LED0=0;
  GPIO_ResetBits(GPIOF,GPIO_Pin_8); //BEEP引脚拉低, 等同BEEP=0;
  delay_ms(300);                    //延时300ms
  GPIO_SetBits(GPIOF,GPIO_Pin_9);   // DS0拉高,灭   等同LED0=1;
  GPIO_SetBits(GPIOF,GPIO_Pin_8);   //BEEP引脚拉高, 等同BEEP=1;
  delay_ms(300);            //延时300ms
  }
相关文章
|
4月前
|
传感器
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
351 0
|
4月前
stm32f407探索者开发板(十九)——外部中断实验-EXIT
stm32f407探索者开发板(十九)——外部中断实验-EXIT
302 0
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
705 0
|
4月前
stm32f407探索者开发板(二十三)——定时器中断实验
stm32f407探索者开发板(二十三)——定时器中断实验
387 0
|
4月前
|
程序员
stm32f407探索者开发板(二十一)——窗口看门狗
stm32f407探索者开发板(二十一)——窗口看门狗
153 0
|
4月前
|
芯片
stm32f407探索者开发板(二十)——独立看门狗实验
stm32f407探索者开发板(二十)——独立看门狗实验
305 0
|
4月前
|
监控
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
289 0
|
4月前
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
264 0
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
433 2
|
5月前
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
507 4