文章目录
一、创建工程
使用stm32cubuMX软件。选择芯片这些就不说了,直接进入配置。
配置定时器,如下图
打开外部时钟,如下
配置管脚,选择PC13为输出管脚。
配置时钟,如下,设为72MHz:
最后配置路径和IDE然后生成工程,要注意设置堆栈大小为4K,如下。
二、工程配置
打开keil,将flash.c 和flash.h两个文件添加到工程中去。
然后在主程序mian文件中添加flash的头文件
继续添加代码到如图位置。
uint8_t FlashWBuff [255];
uint8_t FlashRBuff [255];
uint8_t i;
uint8_t FlashTest[] = "Hello This is ZhangShiSan Flash Test DEMO";
然后编译,使用stlink烧录程序,要是插入了stlink,那么Debug应该已经默认配置好了,可以看一下。
烧录成功
进入Debug,在view中选择memory1,按如下图。
打开watch1,如下图所示
还是在View中,进行如下选择
加入变量FlashWBuff 和 FlashRBuff到 Watch1
接下来在memory1中输入我们要观察的地址,就是0x800c000
配置完成,我们可以运行程序了,运行之后观察变量FlashWBuff 和 变量FlashRBuff,发现他们两完全一样。
在memory1中的地址搜索我们要观察的地址,发现已经将我们定义好的句子写入了。
三、DAC音频播放
打开安装好的Adobe Audition 软件,新建音频文件,如下:
会进入如下界面,如图进行配置。
点击效果,选择生成基本音色
进入之后,按如图配置。
按如图选择,直接导出就行。
点击此处,导入自己想要的音乐
点击音乐,截取一段
右键选取的一段音乐,按图选择
进入如下灰色界面,点击更改,按图进行设置
打开WavToC软件,选择右下角打开文件。选择刚才生成好的wav文件。
然后点击生成代码。
打开原子哥的DAC输出正弦波的程序,找到bsp_dac.c,替换其中的内容如图,就可以输出不同的波形。
四、总结
实验进行了flash的读写,完成了DAC音频播放。
参考链接:
https://blog.csdn.net/m0_58414679/article/details/122220799?spm=1001.2014.3001.5501
https://blog.csdn.net/m0_58414679/article/details/122221730?spm=1001.2014.3001.5501