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
  }
目录
打赏
0
0
0
0
36
分享
相关文章
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
736 0
|
8月前
stm32f407探索者开发板(十九)——外部中断实验-EXIT
stm32f407探索者开发板(十九)——外部中断实验-EXIT
486 0
|
8月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
1067 0
|
8月前
stm32f407探索者开发板(二十三)——定时器中断实验
stm32f407探索者开发板(二十三)——定时器中断实验
731 0
stm32f407探索者开发板(二十一)——窗口看门狗
stm32f407探索者开发板(二十一)——窗口看门狗
278 0
|
8月前
|
stm32f407探索者开发板(二十)——独立看门狗实验
stm32f407探索者开发板(二十)——独立看门狗实验
428 0
|
8月前
|
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
633 0
|
8月前
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
415 0
|
9月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
594 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等