beep.h文件
#ifndef __BEEP_H #define __BEEP_H #include "sys.h" #define BEEP PBout(8) //蜂鸣器端口定义 void BEEO_Init(void); //初始化 #endif
这里参考正点原子开发板
这里可以看出与端口PB8相连接。
写beep.c文件
#include "beep.h"
//蜂鸣器初始化
void BEEP_Init(void)
{
RCC->APB2ENR|=1<<3; //使能PORTB时钟
GPIOB->CRH&=0xFFFFFFF0;
GPIOB->CRH|=0x00000003; //PB.8 推挽输出
BEEP=0; //关闭蜂鸣器输出
}
这里crh和之前用到的crl都是寄存器
最后在主文件里面只需要,像写led灯一样写入就行了,`
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "beep.h"
int main(void)
{
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
LED_Init(); //初始化与LED连接的硬件接口
BEEP_Init(); //初始化蜂鸣器端口
while(1)
{
LED0=0;
LED1=1;
BEEP=0;
delay_ms(300);
LED0=1;
LED1=0;
BEEP=1;
delay_ms(300);
}
}
其中led部分是上一节写led的代码可以删去。



