你好,我参考CH579 EVT的例程写了一个程序,开启低功耗,使用TMOS,需要用到串口收发,遇到以下问题:
1、HAL_SLEEP 设置为TRUE的情况下,串口无法接收数据,FALSE则可以,sleep模式下串口不工作吗?
2、芯片手册上说“睡眠模式,主 LDO 关闭,超低功耗 ULP-LDO 维 持 PMU、内核和基本外设供电”,这个基本外设包括串口吗?
3、如果串口无法在sleep模式工作,有没有什么办法低功耗状态下不丢数据呢?
望解答,谢谢。
你好,我参考CH579 EVT的例程写了一个程序,开启低功耗,使用TMOS,需要用到串口收发,遇到以下问题:
1、HAL_SLEEP 设置为TRUE的情况下,串口无法接收数据,FALSE则可以,sleep模式下串口不工作吗?
2、芯片手册上说“睡眠模式,主 LDO 关闭,超低功耗 ULP-LDO 维 持 PMU、内核和基本外设供电”,这个基本外设包括串口吗?
3、如果串口无法在sleep模式工作,有没有什么办法低功耗状态下不丢数据呢?
望解答,谢谢。
sleep模式的时候主时钟已经停了,串口是不工作的,给外设供电不是让它睡的时候还能跑,是使它醒来的时候初始化配置还保留着,无需重新配置,在低功耗状态下想要串口接收不丢数据就需要设置接收引脚为gpio唤醒引脚,在接收数据时唤醒即可,唤醒是需要时间的。
我也遇到同样的问题,请问串口接收数据唤醒后,接收的数据不完整,请问如何解决?
唤醒后相应的IO状态需要调整一下,这里一份博客可以参考:
CH579 CH573 CH582 串口切换GPIO睡眠唤醒操作 - debugdabiaoge - 博客园 (cnblogs.com)