【NUCLEO-L496ZG评测】+定时器+DAC播放音乐
【NUCLEO-L496ZG评测】+开箱+对比【NUCLEO-L496ZG评测】+开发板上电
【NUCLEO-L496ZG评测】开发环境搭建及Coremark 跑分
详见: 第二篇 嵌入式系统硬件输出系统简介及播放实验(播放篇之一)
不贴网址了。
前几天跟着学了下播放音乐,了解音乐硬件播放原理。
根据教程移植到了STM32L496ZG板上了,使用定时器和 DAC,非常有意思。
使用STM32CubeMX建立工程
1.使能DAC1通道
2.使能定时器6
如果需要串口调试或打印信息,需要开启串口。
3.时钟配置
4.DAC1设置参数并开启中断
5.定时器设置参数并开启中断
查参考手册,TIme6挂在APB1总线上
根据时钟配置图可知,系统时钟为80MHz时,APB1总线上的定时器时钟也是80MHz。
现在需要DAC在8000的采样率。则向上计数为80000000/8000=10000。预装载计数器值为9999。
6.NVIC设置
9.生成工程设置
10.导出工程并添加音频代码
开启定时器中断
中断回调函数里添加播放控制
工程代码:
原教程代码:
补充一下,工程下载到板上后,还需要使用STM32 ST-LINK Utility 工具烧写准备好的音频代码,这个音频代码是用工具audacity-win-2.1.3 处理MP3生成的.bin代码。由于FLASH的大小限制,只能截取一段代码,烧写时注意
本帖最后由 斜阳__ 于 2017-4-10 21:48 编辑
好像不错。Mark一下。有个问题楼主没讲解,音频文件(或者数据)在哪儿存放? 斜阳__ 发表于 2017-4-10 21:41
好像不错。Mark一下。有个问题楼主没讲解,音频文件(或者数据)在哪儿存放? ...
音频代码放在MCU的flash里,你搜一下第一行的详细教程 赞,:loveliness: 这个很好呀
页:
[1]