实验四蜂鸣器实验实验目的:控制ALIENTEK战舰STM32开发板上的蜂鸣器发出: “嘀”…“嘀”…的间隔声,进一步熟悉STM32IO口的使用内容要点:, 采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电 ■磁式蜂鸣器两种类型。战舰STM32开发板板载的蜂鸣器是电磁式的有源蜂鸣器这里的有源不是指电源的“源”,而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声STM32的单个IO最大可以提供25mA电流(来自数据手册),而蜂鸣器的驱动电流是30mA左右,两者十分相近,但是全盘考虑, STM32整个芯片的电流,最大也就150mA,如果用IO口直接驱动蜂鸣器,其他地方用电就得省着点了 …所以,我们不用STM32的IO直接驱动蜂鸣器, 而是通过三极管扩流后再驱动蜂鸣器,这样STM32的10只需要提供不到1mA的电流就足够了。IO口使用虽然简单,但是和外部电路的匹配设计,还是要十分讲究的,考虑越多,设计就越可靠,可能出现的问题也就越少。蜂鸣器在硬件上也是直接连接好了的, 不需要经过任何设置,直接编写代码就可PBS139PB&rriM4_CH3/,蜂鸣器将发声,,,也可以按下面的步骤在实验 1的基础上新建蜂鸣器实验工程。复制上一章的LED实验工程,然后打开USER目录,。,然后在HARDWARE文件夹下新建一个BEEP文件夹,, 多个地方调用头文件会重复引用, 为了避免头文件内容重复引用,一般通过预编译的方式来写头文件。一般的格式如下:#ifndef__BEEP_H#define__BEEP_H#endif第一次调用时会将#define下面这一节全部定义,重复调用时,下面的东西就不会被引用。头文件里一般用来写函数声明或者宏定义,在源文件中再去定义具体的函数。#ifndef_BEEP_H#define__BEEP_HvoidBEEP_Init(void);# ,大家可以将其重命名为 BEEPuvprojx),按新建按钮新建一个文件,然后保存在 HARDWARE->BEEP文件夹F面,。在该文件中输入如下代码:#include""voidBEEP_Init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);〃=GPIO_Pin_8;〃BEEP-->=GPIO_Mode_Out_PP;//GPIO_I
嵌入式系统原理实验四蜂鸣器 来自淘豆网www.taodocs.com转载请标明出处.