我正在使用 STM32F205RGT6 Cortex-M3 微控制器并使用 IAR Embedded Workbench 进行编码。
我计划在大多数情况下将微控制器保持在省电模式,除非外部组件尝试通过 SPI(STM32 微控制器是 SP 从机)或通过 USB 进行通信。
一个外部组件通过 SPI (PB12-15) 连接,PC 通过 USB (PA11-12) 连接。通信工作正常 - 我已经测试了 SPI 和 USB。我想一旦我完成了 SPI 和 USB 的设置,我将调用一个省电函数并在中断服务例程的末尾添加相同的函数调用。我找到了我尝试使用的 PWR_EnterSTANDBYMode 和 PWR_EnterSTOPMode(在 stm32f2xx_pwr.h 中)。但是,通过这种安排,我无法与微控制器建立任何通信(SPI 或 USB)。
是否需要配置一些额外的东西(例如哪些引脚应该唤醒微控制器)?我使用了错误的功能吗?还是错误的头文件?你能给我举一个类似这种情况的例子吗(我在 ST 的网站上找不到类似的东西)?
欢迎任何建设性的反馈。