STM32学习篇-蜂鸣器
生活随笔
收集整理的這篇文章主要介紹了
STM32学习篇-蜂鸣器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
思路與跑馬燈類似,還是通過位帶操作來實現某個IO 口的輸出控制, BEEP 就直接代表了 PB8 的輸出狀態。我們只需要令 BEEP=1 ,就可以讓蜂鳴器發聲。
直接上代碼:
beep.c
#include "beep.h"
//初始化PB8為輸出口,并是能這個口的時鐘
//LED IO初始化
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能GPIOB端口時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //BEEP->GPIO8端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 速度為50MHz
GPIO_Init(GPIOB,&GPIO_InitStructure); // 根據參數初始化GPIOB.8
GPIO_ResetBits(GPIOB,GPIO_Pin_8); //輸出0,關閉蜂鳴器輸出
}
beep.h
#define __BEEP_H
#include "sys.h"
//蜂鳴器定義
#define BEEP PBout(8) //BEEP,定義PB8口為蜂鳴器接口
void BEEP_Init(void); //初始化函數
#endif
main.c
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "beep.h"
int main(void)
{
delay_init(); //延時函數初始化
LED_Init(); //初始化與LED連接的硬件接口
BEEP_Init(); //初始化蜂鳴器端口
while(1)
{
LED0=0;
BEEP=0;
delay_ms(1000);
LED0=1;
BEEP=1;
delay_ms(1000);
}
}
總結
以上是生活随笔為你收集整理的STM32学习篇-蜂鸣器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jetbrains系IDE常用设置
- 下一篇: IOS手机耗电量测试