在hi3518ev300平台使用蜂鸣器播放音乐

目录

1 说明

2 开发过程


1 说明

在网上无意间看到RT-Thread实现蜂鸣器播放器的文档,看过之后忍不住赞叹RT-Thread真是开源界的国产良心之作,除了大量的文档之外还有一系列的视频用于学习。先列出本文的参考文档网址:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/beep-player/README.md

百度网盘是作者在hi3518ev300做的简单示例:

链接:https://pan.baidu.com/s/1M35Dav9WZBoAgPGYg8jTiA

提取码:jc5g

2 开发过程

刚巧手里面有一块hi3518ev300的带蜂鸣器的板子,所以拿它来耍一下。没有做PWM的驱动开发,使用的是应用层驱动接口mmap,核心函数如下:

在hi3518ev300平台使用蜂鸣器播放音乐在hi3518ev300平台使用蜂鸣器播放音乐

 开发的主要任务还是阅读芯片手册,配置管脚复用、PWM频率、占空比、脉冲个数,其中PWM频率、占空比、脉冲个数跟音乐节拍强相关,不过不用担心音乐怎么转化为代码,因为有软件MusicEncode做这件事,下面列出两只老虎的代码示例:

unsigned char g_au8Song1[] =
{//"两只老虎"
        0x15, 0x02, 0x16, 0x02, 0x17, 0x02, 0x15, 0x02, 0x15, 0x02,
        0x16, 0x02, 0x17, 0x02, 0x15, 0x02, 0x17, 0x02, 0x18, 0x02,
        0x19, 0x01, 0x17, 0x02, 0x18, 0x02, 0x19, 0x01, 0x19, 0x03,
        0x1A, 0x03, 0x19, 0x03, 0x18, 0x03, 0x17, 0x02, 0x15, 0x16,
        0x19, 0x03, 0x1A, 0x03, 0x19, 0x03, 0x18, 0x03, 0x17, 0x02,
        0x15, 0x16, 0x15, 0x02, 0x0F, 0x02, 0x15, 0x01, 0x15, 0x02,
        0x0F, 0x02, 0x15, 0x01, 0x00, 0x00
};
上一篇:DASCTF2021五月赛


下一篇:Facebook又要准备入华了,这次能成功吗?