一,总体过程
- 使能IO口时钟。调用函数RCC_APB2PeriphColckCmd();
不同的IO组,调用的时钟使能函数不一样。 - 初始化IO口模式。调用函数BEEP_ Init();
- 操作IO口,输出高低电平。
二,工程文件创建
1,在新建工程模板里新建“HAREWARE”文件夹,在里面创建BEEP文件夹,在里面新建beep.c和beep.h文件,添加到HAREWARE工程里去;
2,将BEEP文件夹添加到头文件库中去。
三,工程代码编写
//beep.c
#include "beep.h"
//初始化PB8为输出口,并使能这个口的时钟
//蜂鸣器初始化
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_8);
}
//main.c
#include "sys.h"
#include "delay.h"
#include "led.h"
#include "beep.h"
int main(void)
{
delay_init();
LED_Init();
BEEP_Init();
while(1)
{
LED0=0;
BEEP=0;
delay_ms(300);
LED0=1;
BEEP=1;
delay_ms(300);
}
}