跳过主要内容

DA14531串口唤醒

DA14530和DA14531

7月前

提交者女警官112点 4 个回复
0 个点赞

对话框你好:

我们希望通过串口唤醒DA14531芯片(ARCH_EXT_SLEEP_ON),从支持论坛上我们发现有这种方法:

1 .休眠时禁用串口,将rx设置为唤醒引脚。

2.唤醒后重新初始化串口。

但是这种方式必然会丢失最前面的数据,是否有方法能实现不丢数据的唤醒?

7月前

马丁。通用电气

请问您所说的最前面的数据指的是?

关于这个串口唤醒本质上还是GPIO唤醒。

具体看设备是处于哪种休眠模式。

详情可以参考:

http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode + / sleepmod……

Br

马丁

7月前

女警官 112点

收到第一个字节,rx拉低,设备从休眠中唤醒,初始化串口需要花费时间。如果我没理解错的话,这样可能收不到串口数据的前几个字节。

接受答案!

7月前

yibin_cai 10分

最靠谱的方式是再加一个IO口作为流控,保证双方的通讯同步;

如果不想这么做,

你所说的方法是可行的。但有几个注意点:

1.唤醒定时器的消抖时间应该为0

2.使用“0 x00”唤醒531年

531单片机应能判断是否处于休眠状态,如果是,发送数据前,应先发送“0 x00”把531唤醒;

即,单片机开始发数据时,假设需要发送01 02年03,则实际需要发送00 01 02 03。

531 在 00 这个字节数据的传输过程中,已经有足够的时间完成唤醒、重新初始化串口,使能串口接收中断这几个步骤了。

3.531年通过串口告知单片机此刻的状态。如第2点所提及的,每次唤醒后,休眠前,531年都应告知单片机其状态

实现流程可参考无代码例程

7月前

女警官 112点

谢谢你们的解答!看来只有这个办法了