STM32F103的DAC功能实现音频输出
2021/12/30 23:39:02
本文主要是介绍STM32F103的DAC功能实现音频输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本次实验主要内容:用Adobe audition或goldwave等音频编辑软件录制“您好欢迎光临!”的几秒钟的声音(8khz采样、8bit量化编码的单声道wav格式),确保音频数据尽量小(最大不超64KB)。然后编程将其分批次写入stm32f103c8t6芯片内部flash区域。
文章目录
- 一、DAC简介
- 二、录制音频
- 1. 生成wav文件
- 2. 使用Ultra Edit软件
- 3. 使用 WavToC软件
- 三、修改代码
- 四、总结
- 五、参考资料
一、DAC简介
数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器,模数转换器即A/D转换器,简称ADC,它是把连续的模拟信号转变为离散的数字信号的器件。(数模转换器_百度百科 (baidu.com))
单个DAC通道的框图如下图所示:
更多内容请参考STM32参考手册
二、录制音频
1. 生成wav文件
打开AU软件,点击录制按钮
接下来弹出窗口,设置参数:采样率:8000Hz,声道:单声道,位深度:8位
或者也可以在网上生成电子音(导入AU后配置导出参数后导出),最后得到wav文件。为了得到16进制数字文件,这里我们有两种方式。
2. 使用Ultra Edit软件
使用Ultra Edit软件打开wav文件
使用Ctrl+A
命令全选,然后右键十六进制复制选定视图
然后新建文件,将内容粘贴到该文件中
然后全选,选择范围
选择范围
打开NotePad++软件,将复制的内容粘贴到这里
按照下图操作为数字加上前缀0x,从第一列开始使用列编辑
操作为每一列前加上0x
3. 使用 WavToC软件
打开WavToC软件,选择文件后打开,点击生成代码
得到数字文件后,点击保存即可
三、修改代码
在野火官网可以下载程序代码,然后修改bsp_dac.c
数组中的内容
由于条件限制,这里就无法进行下去了。感兴趣的读者可以自行购买设备进行实验。
四、总结
本次实验主要是对于音频文件的处理过程,由于硬件部分的限制,这里无法展示实验结果。对于代码部分,需要理解的东西比较多,可以在网络上查看相关学习视频学习。
五、参考资料
使用STM32F103的DAC功能实现音频输出_咩咩叫的闲鱼的博客-CSDN博客_stm32f103有dac
这篇关于STM32F103的DAC功能实现音频输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享