标题:
NucleoF429 基础应用2:PWM语音播放-2
[打印本页]
作者:
look_w
时间:
2018-1-24 20:25
标题:
NucleoF429 基础应用2:PWM语音播放-2
二、
播放语音
1、先编译后,编写
TIM
中断服务程序。
完成后,开启
TIM2
中断和
PWM
,(
PWM
是互补输出,需要单独开启各个通道)
用逻辑分析仪测量输出波形。
如图所示,
TIM1 PWM
为
31.96KHz
,
TIM2
为
62.5us
即
16KHz
,结果正确。
接下来处理音频
:
这里使用的音频是
PCM
格式,是未进行压缩编码的原始数据,可以直接给
PWM
输出。
音频处理的软件有许多,只要能把格式转为
PCM
即可,下面是我用
Cool Edit
这款软件做的音频格式转换。
选择菜单 文件
-->
批量转换
选择新的采样率和采样位数。
选择PCM格式。设置输出目录后运行批处理完成转换。
完成后的音频文件用WinHeX这个软件打开。
图中红框中的44个
Byte
为PCM格式的文件头信息,后面的的数据为音频数据,数据全选后利用
WinHex
的可选格式复制
将数据以C数组的形式导出,在工程目录下新建
.h
文件,将复制的文件粘帖到
.H
文件并在工程中
Include
进来,定义起始和结束地址,数组的大小即为文件结束地址,数组用
const
修饰,可以将数据存储到
Flash
中。
在TIM2中,以
16KHz
的速度更新
PWM
数据即可实现音频播放。
编译工程,下载到NucleoF429板子上,在
PE8
或
PE9
上接一个喇叭即可听到声音。
以上用的音频采样是
16K 8Bit
,要想提高音质,提高采样和
Bit
数即可,音量可以用外接三极管或功放放大,音频数据也可以用
ADC
采集后存储到
SPI Flash
后播放,实现录音回放。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0