# 蜂鸣器实验 ## 硬件环境搭建 - 硬件要求:Hi3861V100核心板、扩展板、交通灯板;硬件搭建如下图所示。 - [Hi3861V100核心板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料\原理图\HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pdf](http://gitee.com/hihope_iot/embedded-race-hisilicon-track-2022/blob/master/%E7%A1%AC%E4%BB%B6%E8%B5%84%E6%96%99/HiSpark_WiFi_IoT%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6_%E5%8E%9F%E7%90%86%E5%9B%BE.rar) - [扩展板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料\原理图\HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pdf](http://gitee.com/hihope_iot/embedded-race-hisilicon-track-2022/blob/master/%E7%A1%AC%E4%BB%B6%E8%B5%84%E6%96%99/HiSpark_WiFi_IoT%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6_%E5%8E%9F%E7%90%86%E5%9B%BE.rar) - [交通灯板硬件原理图参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料\原理图\HiSpark_WiFi_IoT_SSL_VER.A.pdf](http://gitee.com/hihope_iot/embedded-race-hisilicon-track-2022/blob/master/%E7%A1%AC%E4%BB%B6%E8%B5%84%E6%96%99/HiSpark_WiFi_IoT%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6_%E5%8E%9F%E7%90%86%E5%9B%BE.rar) ![输入图片说明](../doc/figures/beep_led_demo/000beep.png)![输入图片说明](../doc/figures/beep_led_demo/001beep.png) ## 软件介绍 - 1.代码目录结构及相应接口功能介绍 - PWM API | API名称 | 说明 | | ------------------------------------------------------------ | ----------------- | | unsigned int PwmInit(WifiIotPwmPort port); | PWM模块初始化 | | unsigned int PwmStart(WifiIotPwmPort port, unsigned short duty, unsigned short freq); | 开始输出PWM信号 | | unsigned int PwmStop(WifiIotPwmPort port); | 停止输出PWM信号 | | unsigned int PwmDeinit(WifiIotPwmPort port); | 解除PWM模块初始化 | | unsigned int PwmSetClock(WifiIotPwmClkSource clkSource); | 设置PWM模块时钟源 | - 2.工程编译 - 将源码./vendor/hisilicon/hispark_pegasus/demo目录下的beep_demo整个文件夹及内容复制到源码./applications/sample/wifi-iot/app/下,如图。 ``` . └── applications └── sample └── wifi-iot └── app └──beep_demo └── 代码 ``` - 修改源码./applications/sample/wifi-iot/app/BUILD.gn文件,在features字段中增加索引,使目标模块参与编译。features字段指定业务模块的路径和目标,features字段配置如下。 ``` import("//build/lite/config/component/lite_component.gni") lite_component("app") { features = [ "beep_demo:beepDemo", ] } ``` - 修改.device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件。在这个配置文件中打开I2C,PWM驱动宏。搜索字段CONFIG_I2C_SUPPORT ,并打开I2C,PWM。配置如下: ``` # CONFIG_I2C_SUPPORT is not set CONFIG_I2C_SUPPORT=y # CONFIG_PWM_SUPPORT is not set CONFIG_PWM_SUPPORT=y ``` - 工程相关配置完成后,然后rebuild编译。 - 3.烧录 - 编译成功后,点击DevEco Home->配置工程->hi3861->upload_port->选择对应串口端口号->选择upload_protocol->选择hiburn-serial->点击save保存,在保存成功后点击upload进行烧录,出现connecting, please reset device..字样复位开发板等待烧录完成。 - 烧录成功后,再次点击Hi3861核心板上的“RST”复位键,此时开发板的系统会运行起来。运行结果:交通灯板上的蜂鸣器响,再次按下交通灯板按键关闭蜂鸣器。 ![输入图片说明](../doc/figures/beep_led_demo/001beep.png)