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

目录

一、具体要求

二、所用设备

三、STM32F103C8T6的flash读写

1. CubeMX 创建工程

 2.STLink 调试

3.调试

四、基于片内Flash的提示音播放程序

1、使用 DAC 产生 2khz 周期的正弦波输出

2. 使用DAC输出数字音频歌曲数据转换为模拟音频波形输出

五、参考文献 


一、具体要求

预备实验:

1)在SD卡创建一个test-speed.txt文件,循环(不加延时)分批一次写入256字节,累计写入不少于64KB字节;然后读取此文件数据,通过串口显示出来。分析写入和读取的速率。

2)Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部Flash的总计64KB存储空间(地址从0x08000000开始),运行一次写入8KB数据,总计复位运行代码4次,将32KB数据写入Flash。并验证写入数据的正确性和读写速率。

基于片内Flash的提示音播放程序。

1)实验数据准备:用Adobe audition或goldwave等音频编辑软件录制“您好欢迎光临!”的几秒钟的声音(8khz采样、8bit量化编码的单声道wav格式),确保音频数据尽量小(最大不超64KB)。然后编程将其分批次写入stm32f103c8t6芯片内部flash区域。

2)数字音频还原播放任务:编程读取此段音频,分别通过 (a)stm32f103c8t6自带的DAC通道,转换为模拟音频进行播放,并用示波器观察波形,用耳机/喇叭收听,评判音乐还原效果;

二、所用设备

软件

  • STM32CubeMX
  • Keil 5
  • notepad++
  • UltraEdit

硬件

  • stm32f103c8t6最小核心板
  • stlink

三、STM32F103C8T6的flash读写

1. CubeMX 创建工程

配置 SYS

配置 RCC

 

配置引脚

 调整堆栈大小

打开工程

 将事先准备好的flash.c 及flash.h加入到工程中

在 main.c 文件中添加如下代码 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值