我假设不可能在SPI接收中断时退出STOP模式,因为所有的时钟都停止了,这是正确的吗?
发布于 2017-02-21 16:55:41
是的,SPI在STOP模式下停止。
如果您的MCU是SPI从站,并且您可以承受丢失第一个数据包的代价,即如果没有得到正确的答案,则主站将重新启动,那么您可以将NSS引脚重新配置为在下降沿激活的EXTI,它甚至可以在STOP模式下工作。
发布于 2017-02-21 16:57:11
您是正确的,SPI接收中断不能用于将控制器从STOP模式唤醒。
但在中断模式下配置的任何EXTI线路都可以唤醒微控制器。(表source)

完整的EXTI线路映射可在参考手册第176页中找到。从GPIO映射到EXTI0 - EXTI15。其余可用行如下:
唤醒事件
您可以做的是在相应SPI线路的GPIO引脚上配置一个外部中断,该中断将唤醒控制器。之后,可以使用适当的SPI RX中断。请注意,您将丢失SPI上的早期数据,因为您将只有一个GPIO中断,并且SPI外设将停止,直到唤醒。
https://stackoverflow.com/questions/42362042
复制相似问题