基于STM32的flash读写和DAC音频播放

一、STM32的flash读写

1.利用STM32CUBEMX创建工程

之前有过很多次创建工程的例子,这里大致过程如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.keil中添加代码及修改配置

在flash.c中添加如下代码,
在这里插入图片描述
在main.c中添加代码,
在这里插入图片描述
在这里插入图片描述
修改配置:
在这里插入图片描述
在这里插入图片描述

编译仿真

编译无误,然后下载到单片机中
在这里插入图片描述
点击debug仿真,
在这里插入图片描述
在view下打开memory1窗口,
打开watch1窗口,
并且勾选Periodic Windows Update开启变量自动更新,
将变量FlashWBuff 和 FlashRBuff加入到 Watch1,
在这里插入图片描述
在这里插入图片描述
在memory1中输入要观察的地址0x800c000
在这里插入图片描述
运行程序,可以看到数组FlashRBuff中内容与数组FlashWBuff中内容一样
在这里插入图片描述
定义好的句子已写到地址0x0800c000中,
在这里插入图片描述

二、STM32的DAC音频播放

什么是 Audition?
Adobe Audition CS6 软件提供高性能,直观的音频编辑工具,混合,恢复,和效果。强大的新功能,如实时的剪辑拉伸,自动语音对齐,和控制面板的支持,帮助您比以往任何时候都更快地交付项目。

1.正弦测试

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.截取音乐中的音频

添加自己喜欢的音乐,点击截取一段音频,右键,点击存储选取为:
在这里插入图片描述
打开软件WavToC,将WAV文件转化成C语言代码
点击右下角的打开文件添加文件
点击生成代码,便自动生成出代码
在这里插入图片描述

在这里插入图片描述
点击试听,这里我能听到正确的声音,但是音质不太好,基本还是能听清的
在这里插入图片描述
打开原子哥的DAC输出正弦波的程序
在bsp_dac.c下的函数中,替换内容,就可以输出不同的波形
在这里插入图片描述

三、总结

通过这次实验,清楚了flash读写的原理及其存放的位置,整个过程还是比较容易的。后面用Audition生成wav文件,然后用WavToC,将WAV文件转化成C语言代码,将代码添加到工程里面去,可以用示波器看其波形,这里没有示波器,没有做具体分析。

四、参考文献

https://blog.csdn.net/qq_45748462/article/details/112392144
https://blog.csdn.net/qq_43279579/article/details/111990896
https://blog.csdn.net/nsnsnbabsb/article/details/111870898
https://blog.csdn.net/liqiang420795936/article/details/108216511
https://blog.csdn.net/zhanglifu3601881/article/details/89315359

版权声明:本文为CSDN博主「厘米同学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq1742517469/article/details/122245363

一、STM32的flash读写

1.利用STM32CUBEMX创建工程

之前有过很多次创建工程的例子,这里大致过程如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.keil中添加代码及修改配置

在flash.c中添加如下代码,
在这里插入图片描述
在main.c中添加代码,
在这里插入图片描述
在这里插入图片描述
修改配置:
在这里插入图片描述
在这里插入图片描述

编译仿真

编译无误,然后下载到单片机中
在这里插入图片描述
点击debug仿真,
在这里插入图片描述
在view下打开memory1窗口,
打开watch1窗口,
并且勾选Periodic Windows Update开启变量自动更新,
将变量FlashWBuff 和 FlashRBuff加入到 Watch1,
在这里插入图片描述
在这里插入图片描述
在memory1中输入要观察的地址0x800c000
在这里插入图片描述
运行程序,可以看到数组FlashRBuff中内容与数组FlashWBuff中内容一样
在这里插入图片描述
定义好的句子已写到地址0x0800c000中,
在这里插入图片描述

二、STM32的DAC音频播放

什么是 Audition?
Adobe Audition CS6 软件提供高性能,直观的音频编辑工具,混合,恢复,和效果。强大的新功能,如实时的剪辑拉伸,自动语音对齐,和控制面板的支持,帮助您比以往任何时候都更快地交付项目。

1.正弦测试

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.截取音乐中的音频

添加自己喜欢的音乐,点击截取一段音频,右键,点击存储选取为:
在这里插入图片描述
打开软件WavToC,将WAV文件转化成C语言代码
点击右下角的打开文件添加文件
点击生成代码,便自动生成出代码
在这里插入图片描述

在这里插入图片描述
点击试听,这里我能听到正确的声音,但是音质不太好,基本还是能听清的
在这里插入图片描述
打开原子哥的DAC输出正弦波的程序
在bsp_dac.c下的函数中,替换内容,就可以输出不同的波形
在这里插入图片描述

三、总结

通过这次实验,清楚了flash读写的原理及其存放的位置,整个过程还是比较容易的。后面用Audition生成wav文件,然后用WavToC,将WAV文件转化成C语言代码,将代码添加到工程里面去,可以用示波器看其波形,这里没有示波器,没有做具体分析。

四、参考文献

https://blog.csdn.net/qq_45748462/article/details/112392144
https://blog.csdn.net/qq_43279579/article/details/111990896
https://blog.csdn.net/nsnsnbabsb/article/details/111870898
https://blog.csdn.net/liqiang420795936/article/details/108216511
https://blog.csdn.net/zhanglifu3601881/article/details/89315359

版权声明:本文为CSDN博主「厘米同学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq1742517469/article/details/122245363

生成海报
点赞 0

厘米同学

我还没有学会写个人说明!

暂无评论

相关推荐

音频数据的Flash读取与DAC的播放

一、Flash地址空间的数据读取 1.Flash简介 在 STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部

音频数据的Flash读取与DAC播放(精简)

一、创建STM32CUBEMX工程 芯片选择F103C8 配置定时器 打开外部时钟 配置时钟 配置PC13为output对应板子上的LED 设置堆栈大小为4K,导出 二、KEIL下的配置 将flash.c 和flash

使用STM32F103的DAC功能实现音频输出

一、DAC简介 DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与 ADC相反。在常见的数字信号系统中,大部分传感器