目录
- 一、用STM32F103输出一路PWM波形
- 1.打开文件
- 2.配置
- 3.结果
- 二、输出2KHZ的正弦波
- 1.构建一个周期为2KHZ的正弦波音频信号
- 2.生成周期点
- 3.运行代码修改
- 4.结果
- 三、数字音频数据转换为模拟音频波形输出
- 1.音频截取
- 2.生成周期点
- 3.运行结果
一、用STM32F103输出一路PWM波形
1.打开文件
• 打开之前网盘下载的野火资料:
• 打开,编译构建。
• 之后点击运行,选择分析窗口:
2.配置
• 第三步设置如下:
• 当第一步输完后回车在第二步选择Bit.
3.结果
• 之后若没有出现图像,点击ALL即可;波形图如下:
二、输出2KHZ的正弦波
所需软件:
• 音频编辑工具Audiotion
• UltraEdit
• notepad++
软件均可在官网下载,此处不累赘
1.构建一个周期为2KHZ的正弦波音频信号
• 打开音频编辑工具构建一个音频文件:
• 选择如下:
• 点击效果->生成基本音色:
• 确定形状为正弦,频率为2000:
• 之后点击确定。
• 导出:
• 选择文件路径,确保生成文件为wav类型即可。
• 在界面左边选择所创建的文件,打开:
右图为所输出的正弦波。
2.生成周期点
• 使用软件UltraEdit打开所创建wav文件:
• CTRL+A全选,点击右键选择16进制复制所选视图:
• 粘贴到新创建的一个记事本:
• 再次用UltraEdit打开记事本:
• 点击右键选择范围,设置选择:
CTRL+C复制即可。
• 新建一个记事本,粘贴:
• 用nodepad++打开该记事本:
• 选择列块编辑:
• 第一列插入0x之后每列前面插入,0x最后一列后面加,:
• 完成之后全选复制。
3.运行代码修改
• 打开野火资料:
• 打开bsp_dac.c文件:
• 将复制的粘贴到const uint16_t Sine12bit[POINT_NUM] 函数下:
• 如果出现如下问题:应修改上图中函数的周期点数:
• 此时如还存在以下问题:
• 是芯片内存不够可打开项目选项:
• 修改后,编译构建即可。
4.结果
• 将生成的HEX文件烧录进STM32开发板。
• 将开发板USB连接电脑或者示波器,PA5接探头,GND接地接口。示波器图像如图:
三、数字音频数据转换为模拟音频波形输出
1.音频截取
• 用audition打开一个音频,截取一段右键存储选区为:
将采用率和声道以及位深度修改为如上图所示。
2.生成周期点
• 可以仿照上面生成周期点的步骤生成。
• 下面我使用如下软件生成:
软件网盘地址:百度网盘资源 提取码:7egp
• 步骤如下:(第二步可选择压缩)
• 点击保存代码,打开后复制即可:
3.运行结果
• 可将复制的粘贴到第二个实验的工程里面:
• 出现问题仿照上面修改。
成功后:
• 将hex文件烧录到开发板。
• 将开发板连接到示波器,示波器探头接PA5结果如下:
完成。