蜂鸣器可以分为两种:有源蜂鸣器与无源蜂鸣器,这里的“源”指的是有没有自带震荡电路,有源的蜂鸣器自带有震荡电路,通电的瞬间就会发出声音;而无源的蜂鸣器,需要提供一个2~5Khz左右的方波进行驱动,才可以发出声音。
上一个实验已经对GPIO做出了简单的介绍,本章节就不对GPIO在做细讲。
下面我们简单了解一下蜂鸣器模块的基本原理:
在我们单独使用蜂鸣器的使用,蜂鸣器的驱动电流在30mA左右,而STM32单片机的单个IO口的最大提供电流为25mA,虽然十分相近,但是综合各个方面进行考虑,还是决定不能直接使用IO口来驱动蜂鸣器,这个时候就需要使用三极管对电流进行增大,然后在驱动蜂鸣器,这样的话我们甚至不需要使用25mA的电流,单片机的IO口只要不到1mA的电流即可使用。
下面为蜂鸣器模块原理图:
从原理图我们看出:该蜂鸣器是高电平时,蜂鸣器发声,低电平时,停止发声。
void BEEP1_Init(