在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报错找不到文件。将文件路径添加到库搜索路径部分也没有用。使用文件的完整绝对路径同样提示找不到文件。 如何通过开发板扬声器输出任何音频。
|