完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、实验要求
阅读学习野火开发板资料(零死角玩转stm32-中级篇、零死角玩转 STM32F103—指南者)和网上资源,熟悉 脉冲宽度调制(PWM)和数模/模数转换原理。完成以下实验:
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中就可以显示波形了。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1614 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1541 浏览 1 评论
970 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
682 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1592 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 20:04 , Processed in 0.678632 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号