完善资料让更多小伙伴认识你,还能领取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个回答
|
|
可能有多个原因导致你遇到的问题。
首先,请确保你的代码正确配置了I2S,并能够成功采集MEMS数字麦克风的数据。可以通过调试工具或示波器来确认是否有有效的PDM数据输出。 其次,确保你正确配置了PDM2PCM库,并且能够将PDM数据转换为有效的PCM数据。你可以使用额外的调试输出来检查是否成功转换为PCM数据。 接下来,请确保你正确配置了USB音频设备的端点(endpoint)和相关参数。检查你的代码是否正确设置了麦克风设备的音频格式、采样率、通道数等参数。 最后,请确保你正确实现了USBD_AUDIO_DataIn函数。该函数负责将PCM数据发送给PC。你可以在该函数中添加调试输出,检查是否有数据被发送。 如果经过以上步骤仍然无法解决问题,建议你使用示波器或逻辑分析仪来调试USB数据传输过程。通过监视数据包的传输和接收,你可以更深入地了解数据是否正确发送和接收。 总之,要解决问题,你需要逐个检查每个环节,并进行相关的调试和验证。 |
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
424 浏览 1 评论
278 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
247 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
611 浏览 2 评论
634 浏览 2 评论
1363浏览 9评论
37浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
47浏览 3评论
41浏览 3评论
KEIL MDK为什么无法debug library中的代码?
80浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-27 15:05 , Processed in 0.571003 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号