STM32F103的DAC实现播放WAV音乐

一、DAC的简要介绍

1.数据格式

数据格式DAC 可以使用以下三种整型格式的数据:8 位右对齐、12 位右对齐以及 12 位左对齐。12 位值的范围在 0x000 到 0xFFF 之间,其中 0x000 为最小值,而 0xFFF 为最大值。
在这里插入图片描述

2.双通道模式

双通道模式DAC 有两个输出通道,每个通道各有一个转换器。在双 DAC 通道模式下,转换可以单独进行,也可以同时进行。当 DAC 通道由同一个触发源触发后,两个通道将组合在一起同步执行更新操作,转换也会
同时进行。

3.专用定时器

专用定时器除了通过软件和外部触发器触发 DAC 转换之外,还可以通过不同的定时器触发 DAC 转换。TIM6 和 TIM7 是两个基本定时器,主要用于 DAC 触发。每当 DAC 接口在所选的定时器触发输出 (TIMx_TRGO) 上检测到上升沿时,DAC_DHRx 寄存器中存储的最后一个数据即会转移到 DAC_DORx 寄存器中。图 2.STM32F100x DAC 触发器通道ai183008 位右对齐12 位左对齐12 位右对齐ai18301DAC 通道 x触发器
在这里插入图片描述

二、准备工作

1.音频编辑软件GoldWave的安装

点击下载GoldWave

下载完成后按照提示安装即可

2.UltraEdit的安装

参考博客:UE中文版(UltraEdit)的安装、激活

3.Notepad++的安装

下载地址:官网下载

下载完成后按照步骤安装即可

三、音频文件的准备

首先从网上下载一个格式为MP3的音乐文件,我这里下的是水星记.MP3在这里插入图片描述
然后打开GoldWave软件,进入后点击打开,选中我们的音频文件打开
在这里插入图片描述
打开后,我们首先对音频文件进行修剪,可以在左右两边拖动括号选中我们想要的片段,然后点击上面的修剪
在这里插入图片描述
修剪完成后,我们开始对音频文件的格式进行配置,点击上方的选项,找到文件格式,进入设置,如图所示

在这里插入图片描述
点击OK后,退出GoldWave,打开UE,打开后在UE中,打开我们刚另存为的文件,选中中间部分,复制粘贴到新文件中
在这里插入图片描述

用notepad++打开上面保存文件,编辑–列块编辑–插入文本 ,生成如下文件
在这里插入图片描述
至此,音频文件准备完毕

四、DAC输出周期为2kHz的正弦波

示例程序采用于野火的STM32F103指南者DAC输出正弦波的示例程序

将模拟好的数据放入下图所示文件里的数组中
在这里插入图片描述
在这里插入图片描述
烧录程序,示波器的效果为
在这里插入图片描述

五、DAC输出指定的音频

打开我们准备好的wav文件

在这里插入图片描述
ctrl+a全选复制所有,粘贴进上个指定的数组中
在这里插入图片描述
编译、烧入后,示波器的效果为
在这里插入图片描述


版权声明:本文为m0_46145395原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。