打印

立创商城STM32F系列——STM32f4蜂鸣器实验代码

[复制链接]
643|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小乐Tzz|  楼主 | 2018-8-30 11:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32f4————蜂鸣器实验代码
/*******************************************************/
beep.c文件下代码:
#include "beep.h"   

//初始化PF8为输出口         
//BEEP IO 初始化
void BEEP_Init(void)
{     
   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 拉低,   
}
这段代码 仅包含1个函数: void BEEP_Init(void),该函数的作用就是使能PORTF的时钟,然后调用GPIO_Init函数, 配置PF8为推挽输出。 IO口的初始化跟上一讲跑马灯实验非常类似,这里我们就不做过多讲解。
保存 beep.c代码,然后我们按同样的方法,新建一个beep.h 文件,也保存在BEEP 文件夹下面。在 beep.h中输入如下代码:
#ifndef __BEEP_H
#define __BEEP_H     
#include "sys.h"   
//LED 端口定义
#define BEEP PFout(8)  // 蜂鸣器控制 IO   
void BEEP_Init(void);//初始化                    
#endif
和上一章一样,我们这里还是通过位带操作来实现某个 IO 口的输出控制,BEEP 就直接代表了PF8 的输出状态。我们只需要令BEEP=1,就可以让蜂鸣器发声。

回到主界面,在main.c里面编写如下代码:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "beep.h"
int main(void)
{   
  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
  }
}
注意要将 BEEP 文件夹加入头文件包含路径,不能少,否则编译的时候会报错。这段代码就是通过库函数GPIO_ResetBits和 GPIO_SetBits两个函数实现前面7.1节所阐述的功能,同时加入了 DS0(LED0)的闪烁来提示程序运行(后面的代码,我们基本都会加入这个) ,整个代码比较简单。
/*******************************************************/


【立创商城】STM32F103CBT6 托盘  https://item.szlcsc.com/8796.html

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

70

帖子

0

粉丝