1.了解蜂鸣器:
- 蜂鸣器在使用3.3V无法驱动,需要借助到三极管的放大特性(Ic=βIb)将蜂鸣器驱动;
- 本次原理图中,接R33电阻是因为当STM32单片机复位时处于浮空状态,防止小电流让蜂鸣器响而添加的。
2.蜂鸣器原理图:


3.库函数实现蜂鸣器响:
(1)主函数:
#include "beep.h"
#include "delay.h"int main(){delay_init(); //延时初始化BEEP_Init(); //初始化蜂鸣器while(1){delay_ms(100);GPIO_SetBits(GPIOB,GPIO_Pin_8); //响,delay_ms(100);GPIO_ResetBits(GPIOB,GPIO_Pin_8); //不响,}}
(2)蜂鸣器头文件:
#ifndef __BEEP_H
#define __BEEP_Hvoid BEEP_Init(void);#endif
(3)蜂鸣器功能函数:
#include "stm32f10x.h"
#include "beep.h"void BEEP_Init(void)
{ GPIO_InitTypeDef GPIO_InitStruct;//1.使能时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//2.配置io->PB8GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP; //推挽输出GPIO_InitStruct.GPIO_Pin=GPIO_Pin_8; //PB8GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStruct);GPIO_ResetBits(GPIOB,GPIO_Pin_8); //不响,看原理图可知高电平驱动蜂鸣器响}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!