目录
一、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的安装
3.Notepad++的安装
下载地址:官网下载
下载完成后按照步骤安装即可
三、音频文件的准备
首先从网上下载一个格式为MP3的音乐文件,我这里下的是水星记.MP3
然后打开GoldWave软件,进入后点击打开,选中我们的音频文件打开
打开后,我们首先对音频文件进行修剪,可以在左右两边拖动括号选中我们想要的片段,然后点击上面的修剪
修剪完成后,我们开始对音频文件的格式进行配置,点击上方的选项,找到文件格式,进入设置,如图所示

点击OK后,退出GoldWave,打开UE,打开后在UE中,打开我们刚另存为的文件,选中中间部分,复制粘贴到新文件中
用notepad++打开上面保存文件,编辑–列块编辑–插入文本 ,生成如下文件
至此,音频文件准备完毕
四、DAC输出周期为2kHz的正弦波
示例程序采用于野火的STM32F103指南者DAC输出正弦波的示例程序
将模拟好的数据放入下图所示文件里的数组中

烧录程序,示波器的效果为
五、DAC输出指定的音频
打开我们准备好的wav文件

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