STM32
登录
直播中
carey123
10年用户
1509经验值
擅长:可编程逻辑 嵌入式技术
私信
关注
[问答]
如何使用STM32微控制器的DAC生成音频和波形?
开启该帖子的消息推送
STM32
如何使用
STM32
微控制器的DAC生成音频和波形?
回帖
(1)
陈明
2021-11-19 09:49:08
一、实验要求
阅读学习野火开发板资料(零死角玩转stm32-中级篇、零死角玩转 STM32F103—指南者)和网上资源,熟悉 脉冲宽度调制(PWM)和数模/模数转换原理。完成以下实验:
用STM32F103输出一路PWM波形,建议采用定时器方法。野火和网上大多数资源采用此方法,有完整源码。用示波器观察输出波形。参考网址如:
https://www.cnblogs.com/zhj868/p/12640717.html
用STM32F103的DAC功能完成以下波形输出,用示波器观察波形,并用蜂鸣器或手机耳机收听输出声音效果、感受歌曲的音质差异。
1)输出一个周期2khz的正弦波(循环)。此波形驱动作用至蜂鸣器或喇叭,会呈现一个“滴…”的单音;
2)将一段数字音频歌曲数据转换为模拟音频波形输出(循环)。
提示:首先用音频制作工具制作一段数字化的2khz正弦波wav文件、转换一首你喜欢的歌曲片段(或者自己唱录一句,如“我还是从前那个少年miya”)为wav文件。制作时须指定采样频率、量化位数和通道数,以及时间长度。MCU资源有限,建议采样8khz,量化16bit,单通道,时长仅仅5~10秒。音频wav数据可以用类似汉字字模的保存方式,直接copy到Keil代码中数组中,不必使用SD卡上的wav文件(野火开发板是读取SD卡上的wav文件)。
参考网址:
https://blog.csdn.net/liqiang420795936/article/details/108216511
使用STM32微控制器系列中的DAC生成音频和波形.pdf
二、实验内容
(一)用STM32F103输出一路PWM波形
1、打开源代码
2、修改参数设置
3、仿真波形以及示波器演示
(二)用STM32F103的DAC功能完成波形输出
1、输出一个2kHz的正弦波
方法一:
打开老师提供的Adobe Audition,打开一段音乐
截取一段存为.wav文件
修改参数为
保存到本地
打开已安装好的Uedit32,打开刚刚保存的.wav文件
全选
选择范围
复制到notepad++填充0x和“,”
将填充好的代码复制粘贴到keil工程的const unit8_t Sine12bit[]中
再将整个工程烧录到stm32中,就可以在示波器中观察到波形
方法二:
打开例程中给出的matlab文件,修改参数
根据代码我们发现它的采样点数为32,显示的波形不连续
我们需要的是2kHz的正弦波,采样点数应该为3600,此时得到的波形肉眼看起来就是连续的了
运行后生成了dac_sinWave.c 文件,记事本打开
打开工程
修改keil中的uint16_t Sine12bit[POINT_NUM]数组,将我们得到的dac_sinWave.c 文件用记事本打开复制粘贴覆盖原本内容即可
编译完成之后,将代码烧录到stm32中就可以显示波形了。
一、实验要求
阅读学习野火开发板资料(零死角玩转stm32-中级篇、零死角玩转 STM32F103—指南者)和网上资源,熟悉 脉冲宽度调制(PWM)和数模/模数转换原理。完成以下实验:
用STM32F103输出一路PWM波形,建议采用定时器方法。野火和网上大多数资源采用此方法,有完整源码。用示波器观察输出波形。参考网址如:
https://www.cnblogs.com/zhj868/p/12640717.html
用STM32F103的DAC功能完成以下波形输出,用示波器观察波形,并用蜂鸣器或手机耳机收听输出声音效果、感受歌曲的音质差异。
1)输出一个周期2khz的正弦波(循环)。此波形驱动作用至蜂鸣器或喇叭,会呈现一个“滴…”的单音;
2)将一段数字音频歌曲数据转换为模拟音频波形输出(循环)。
提示:首先用音频制作工具制作一段数字化的2khz正弦波wav文件、转换一首你喜欢的歌曲片段(或者自己唱录一句,如“我还是从前那个少年miya”)为wav文件。制作时须指定采样频率、量化位数和通道数,以及时间长度。MCU资源有限,建议采样8khz,量化16bit,单通道,时长仅仅5~10秒。音频wav数据可以用类似汉字字模的保存方式,直接copy到Keil代码中数组中,不必使用SD卡上的wav文件(野火开发板是读取SD卡上的wav文件)。
参考网址:
https://blog.csdn.net/liqiang420795936/article/details/108216511
使用STM32微控制器系列中的DAC生成音频和波形.pdf
二、实验内容
(一)用STM32F103输出一路PWM波形
1、打开源代码
2、修改参数设置
3、仿真波形以及示波器演示
(二)用STM32F103的DAC功能完成波形输出
1、输出一个2kHz的正弦波
方法一:
打开老师提供的Adobe Audition,打开一段音乐
截取一段存为.wav文件
修改参数为
保存到本地
打开已安装好的Uedit32,打开刚刚保存的.wav文件
全选
选择范围
复制到notepad++填充0x和“,”
将填充好的代码复制粘贴到keil工程的const unit8_t Sine12bit[]中
再将整个工程烧录到stm32中,就可以在示波器中观察到波形
方法二:
打开例程中给出的matlab文件,修改参数
根据代码我们发现它的采样点数为32,显示的波形不连续
我们需要的是2kHz的正弦波,采样点数应该为3600,此时得到的波形肉眼看起来就是连续的了
运行后生成了dac_sinWave.c 文件,记事本打开
打开工程
修改keil中的uint16_t Sine12bit[POINT_NUM]数组,将我们得到的dac_sinWave.c 文件用记事本打开复制粘贴覆盖原本内容即可
编译完成之后,将代码烧录到stm32中就可以显示波形了。
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
怎样通过
STM32
F767zi
微控制器
的
DAC
生成
驱动信号呢?
2023-01-05
219
STM32
DAC
功能是如何实现输出
音频
波形
的
2021-11-15
1188
哪种
STM32
微控制器
可以构建MP3
音频
阅读
器
呢
2022-12-20
318
如何去实现基于
STM32
的
DAC
音频
输出呢
2021-10-27
2010
在
STM32
微控制器
中如何使用PWM?
2021-09-24
1296
怎么实现基于
STM32
的
DAC
实现
音频
波形
的输出?
2021-11-19
1164
STM32
DAC
是如何实现输出2khz正弦波和歌曲
音频
片段
波形
的
2021-11-15
1365
STM32
系列32位
微控制器
分为哪几类
2021-09-22
3757
多媒体
音频
控制器
的工作原理是什么?
2019-10-14
2952
使用UART闪存
STM32
G0系列
微控制器
的方法是什么
2022-12-21
257
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分