ch573低功耗模式下,uart收发问题。

场景 :

如果蓝牙长时间未被连接读取数据,

会通过一颗4G模组向服务器上报数据,

ch573使用uart3 (PA4、PA5)连接4G模组。

项目为电池供电,需要低功耗。


问题:

当ch573开启 “HAL_SLEEP=1”后,uart3无法正常接收数据。


期待方案:

一、使uart3可以在“HAL_SLEEP=1”的状态下正常收发数据。

二、是否可以使系统在短时间内不再进入低功耗。

您好,“使uart3可以在“HAL_SLEEP=1”的状态下正常收发数据”,可以复用UART3的RX引脚作为GPIO唤醒脚,利用第一个字节的数据唤醒MCU,唤醒后后续的数据可以正常接收。
是否可以使系统在短时间内不再进入低功耗”,在GPIO唤醒后,可以置标志,在sleep.c中的CH57x_lowpower函数开头判断改标志,不希望休眠就使能标志,判断到标志就直接return即可。


好的,我理解了,

rx作为gpio唤醒引脚的话,接收到的byte0应该会丢失,4G侧用的是AT接口,应该只能用阻止唤醒的方式了。

谢谢


实现了吗? 方法可行?




您好,可以参考这篇博客:

CH582芯片Sleep模式串口唤醒接收数据 - SweetTea_lllpc - 博客园 (cnblogs.com)


只有登录才能回复,可以选择微信账号登录