完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用STM32F4做USB 麦克风硬件: STM32F411 + MEMS数字麦克风(输出PDM数据)+ USB接口
工作流程:STM32作为USB Aduio Deice 与PC连接,并通过I2S采集MEMS数字麦克风PDM数据,然后调用PDM2PCM库转换为PCM数据,最后把PCM数据通过USB上传给PC实现PC录音 使用的STM32CubeMx生成初始化代码后默认是只有播放设备的,通过对usbd_audio.c和usbd_audio.h修改加入了麦克风设备 现在STM32接入PC后能枚举出来麦克风设备,但是开始录音后无数据,BUSHOUN数据长度一直是0,而且无法进入函数USBD_AUDIO_DataIn |
|
相关推荐
1个回答
|
|
根据您的描述,STM32F4作为USB音频设备与PC连接,通过I2S采集MEMS数字麦克风的PDM数据,然后使用PDM2PCM库将其转换为PCM数据,并通过USB上传给PC实现录音。现在的问题是在开始录音后无数据,BUSHOUN数据长度一直是0,且无法进入函数USBD_AUDIO_DataIn。以下是一些建议和可能的原因:
1. 检查硬件连接:确保STM32F4、MEMS数字麦克风和USB接口之间的连接正确无误。检查电源、地线和数据线是否连接正确。 2. 检查I2S配置:确保I2S配置正确,包括采样率、位宽、时钟设置等。如果I2S配置不正确,可能会导致无法正确采集MEMS麦克风的PDM数据。 3. 检查PDM2PCM库:确保PDM2PCM库正确地将PDM数据转换为PCM数据。如果转换过程中出现问题,可能会导致数据丢失或错误。 4. 检查USBD_AUDIO_DataIn函数:确保USBD_AUDIO_DataIn函数能够正确处理PCM数据。如果函数实现有误,可能会导致数据无法正确上传给PC。 5. 检查PC端设置:确保PC端的录音软件能够正确识别并使用STM32F4作为麦克风设备。检查录音软件的设置,确保它能够接收并处理来自STM32F4的音频数据。 6. 调试和日志:在STM32F4的代码中添加调试信息和日志输出,以便更好地了解程序在运行过程中的状态。这可以帮助您确定问题出在哪个环节。 7. 检查中断和DMA:确保STM32F4的中断和DMA设置正确,以便在采集到音频数据后能够及时处理并上传给PC。如果中断或DMA设置不正确,可能会导致数据丢失或延迟。 8. 检查固件和库文件:确保您使用的STM32CubeMx生成的初始化代码、PDM2PCM库和其他相关库文件是最新版本,以避免因版本问题导致的兼容性问题。 9. 考虑硬件故障:如果以上检查都没有问题,但问题仍然存在,可能是硬件故障。您可以尝试更换MEMS数字麦克风或STM32F4芯片,看看问题是否得到解决。 通过以上步骤,您应该能够找到问题所在并解决录音无数据的问题。如果问题仍然存在,请继续深入调试和分析,以便找到解决方案。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1792 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1626 浏览 1 评论
1094 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
732 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1682 浏览 2 评论
1943浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
740浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
577浏览 3评论
600浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
562浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 10:20 , Processed in 1.059942 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号