[STM32H7] 在STM32CubeIDE项目中使用pdm2pcm库

[复制链接]
290|0
小库里 发表于 2025-10-15 21:46 | 显示全部楼层 |阅读模式
在STM32H745I-DISCO上实现一个简单的功能:通过开发板的扬声器输出播放1KHz正弦波。
文档中提到:"两个外部扬声器可以分别通过JP5(右扬声器)和JP2(左扬声器)连接到WM8994ECS/R"
WM8994芯片可以通过SAI/I2S接口访问。
我参考了[color=var(--dsw-alias-brand-text)]https://github.com/STMicroelectronics/STM32CubeH7/tree/master/Projects/STM32H745I-DISCO/Examples/SAI/SAI_AudioPlayback
但不知道如何将其跑起来。查看源代码时,发现它使用了PDM2PCM中间件。
我试了将其添加到STM32CubeIDE项目中,但CubeIDE生成配置失败,并输出了mx.scratch文件。
通过查看文件,我发现需要添加以下包含路径:
../../../Middlewares/ST/STM32_Audio/Addons/PDM/Inc
../../../CM7/PDM2PCM/App
以及链接到CM7\PDM2PCM\App和Middlewares\ST\STM32_Audio目录。
现在构建项目时,出现"pdm2pcm.c:47: undefined reference to `PDM_Filter_Init'"错误。
该函数在已正确包含的pdm2pcm_glo.h文件中声明。
不过存在一个"libPDMFilter_CM7_GCC_wc32.a"文件,是一个二进制文件,我猜这是包含缺失函数的库的编译版本。
该文件出现在项目树中。
我试过在MCU G++链接器/库设置中添加文件名,但IDE报错找不到文件。将文件路径添加到库搜索路径部分也没有用。使用文件的完整绝对路径同样提示找不到文件。
如何通过开发板扬声器输出任何音频。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

59

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部