一个使用串口中断接收外部设备数据的应用。
在开启 HAL_SLEEP 之前,通讯一切正常。
开启 HAL_SLEEP 后,串口中断无法正常接收外部设备发来的数据。
机器的其他操作都正常 : 按键,pwm输出,adc采集.
就是串口中断 失效了。
和这位用户的情况基本一致。
给出的解决方案是再休眠前将串口修改为io并且设置为唤醒。
唤醒后再将io恢复为串口。
解决方案中的操作我不太理解:
睡眠前需要将串口设置为普通io: 我只是开启了 HAL_SLEEP 。 没有主动调用休眠,是系统自动进入休眠,我应该在哪里进行该操作呢?
唤醒后将io重新设置为串口:我不知道系统是在哪进行休眠的, 所以我应该在怎么恢复呢?