有源蜂鸣器
蜂鸣器介绍¶
蜂鸣器是一种一体化结构电子讯响器,采用直流电源供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器分为有源和无源,有源的直接接电源即可发声。无源的需要连接一个变化频率的电源上,才能发出声音。
有源蜂鸣器¶
接线要求¶
-
GND连接开发板GND
-
VCC连接开发板3.3V或5V
-
OUT连接GPIO14引脚(其它引脚也可以)
项目编写¶
- 在
applications/genkipi/app
下新建buzzer_active
文件夹 - 在
buzzer_active
下新建main.c
文件 - 在
buzzer_active
下新建BUILD.gn
文件
代码部分¶
main.c
文件内容
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "ohos_init.h"
#include "cmsis_os2.h"
#include "iot_gpio.h"
#include "iot_io.h"
#include "genki_pin.h"
static void start(void) {
//初始化GPIO口
IoTGpioInit(IOT_IO_NAME_14);
//设置IO口功能为GPIO
IoTIoSetFunc(IOT_IO_NAME_14, IOT_IO_FUNC_14_GPIO);
//设置IO口输出方向:输出
IoTGpioSetDir(IOT_IO_NAME_14,IOT_GPIO_DIR_OUT);
//不断输出高低电压
while (1){
IoTGpioSetOutputVal(IOT_IO_NAME_14,IOT_GPIO_VALUE1);
usleep(1000*1000);
IoTGpioSetOutputVal(IOT_IO_NAME_14,IOT_GPIO_VALUE0);
usleep(1000*1000);
}
}
APP_FEATURE_INIT(start);
项目Build.gn¶
buzzer_active
目录下 BUILD.gn
内容为
static_library("buzzer_active") {
sources = [
"main.c"
]
include_dirs = [
"//utils/native/lite/include",
"//base/iot_hardware/peripheral/interfaces/kits",
"//device/itcast/genkipi/interfaces/kits"
]
}
外部Build.gn¶
buzzer_active
文件夹上一级目录下BUILD.gn
内容为
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"buzzer_active"
]
}