选择芯片类型为STM32F103C8T6(根据自己情况进行选择),然后进行配置
SYS配置
RCC配置
GPIO配置
在生成工程前可以将最小栈区大小修改大一点
配置完成后点击生成工程即可
添加flash.h文件
添加到对于的文件夹中
在main函数中将头文件includ进去
修改main函数中代码
编译没有错误后接入硬件进行调试
ST-LINK | STM32 |
---|---|
SWCLK/TCK | SWCLK/TCK |
SWDIO/TMS | SWDIO/TMS |
GND | GND |
VCC | VCC |
Debug设置
选择ST-Link Debugger
然后点击Setting进行设置,如下图配置
下载程序
配置完成后直接点击图标通过ST-Link进行下载即可
为了确保以及更方便的观察FLASH内存的变换,我们通过Debug运行测试
先点击放大镜进入Debug
然后依次点击View->memory windows->memory 1打开内存观察窗口
然后点击View->Watch windows->Watch 1打开一个变量观察窗口,将变量FlashWBuff 和 FlashRBuff加入到 Watch 1 观察窗口
完毕后按F5全速运行,数组FlashRBuff与数组FlashWBuff中的内容一致了,说明成功进行了读取与写入
先建立一个正弦波信号的文件
设置参数
依次点击效果->生成->音调进行设置
导出为wav文件
通过之前步骤以及生成了正弦波信号,并保存为wav文件,在这基础上金一步操作
按下ctrl+A键对内容进行全选,然后右键点击选择十六进制复制选定视图
编译没有错误即可,然后烧录
连接音频模块并用喇叭播放试听
由于没有音频播放模块,所以此步先省略掉
播放音乐也是一样的操作,先将音乐文件转换为wav格式,然后通过UE进行改写,再放入代码中
通过此此实验了解了如何通过STM32的DAC通过进行音频文件的播放以及如何将数据写入片内FLASH当中,由于FLASH的内存非常有限,所以写入的时候需要分批次写入进去。
【嵌入式22】STM32F1C8T6音频数据的Flash读取与DAC播放
STM32 进阶教程 13 – FLASH的读写操作