完成这个和之前的跑马灯实验类似,也是
①:使能时钟
②:初始化GPIO口
③:设置延迟函数,电平控制输出。
首先,我们先看原理图:
我们从这可以看到BEEP用的是GPIOB的PIN8
那么我们来先写beep.h文件
#ifndef __BEEP_H
#define __BEEP_H
void BEEP_Init(void);
#endif
然后写beep.c文件
#include "beep.h"
#include "stm32f10x.h"
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStr;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStr.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStr.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStr.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStr);
GPIO_ResetBits(GPIOB,GPIO_Pin_8);
}
然后,是main函数
#include "beep.h"
#include "stm32f10x.h"
#include "delay.h"
int main(void){
delay_init();
BEEP_Init();
while(1)
{
GPIO_SetBits(GPIOB,GPIO_Pin_8);
delay_ms(500);
GPIO_ResetBits(GPIOB,GPIO_Pin_8);
delay_ms(500);
}
}