睡眠模式和无代码

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
3个职位/0个新职位
最后一篇文章
德国186
离线
最后一次见到:1年3个月前
已加入:2016-04-21 12:59
睡眠模式和无代码

嗨,我做我自己的无密码项目,有一些关于外部睡眠模式的问题

我实现了你的无密码项目的功能(做得好)准备睡觉和醒来

我的问题是我想用ATr+sleep=1将BLE放入ext.sleep
它会在1小时内自动醒来。

我找到了:
#定义CFG\u MAX\u SLEEP\u DURATION\u PERIODIC\u WAKEUP\u MS 500//0.5s
以及
#定义CFG\u MAX\u SLEEP\u DURATION\u EXTERNAL\u WAKEUP\u MS 10000//10秒

所以我想我应该把这个设为1小时,意思是1小时3600000。

如果我发送命令ATr+SLEEP,它会休眠1小时

但是我应该去掉一些额外的东西吗?

就像来自UART的中断,因为它没有附加任何东西。BLE(PAN1740)是独立的。

wkupct\u register\u callback(用户\u唤醒);

//为计数器IRQ指定IO引脚、极性、事件计数和去抖动时间
wkupct\启用\ irq
(
WKUPCT\u PIN\u SELECT(UART2\u RX\u GPIO\u PORT,UART2\u RX\u GPIO\u PIN),//UART RX
WKUPCT\引脚\极性(UART2\ RX\ GPIO\端口、UART2\ RX\ GPIO\引脚、WKUPCT\引脚\极性\低)、//极性低
1,//事件数
0//去抖动时间=0ms
);

我应该删除wkupct\u enable\u irq吗?用户_wakeup会在自动唤醒后被调用吗?

设备:
MT\u对话框
离线
最后一次见到:2个月1周前
工作人员
已加入:2015-06-08 11:34
你好,gert186,

你好,gert186,

我认为你误解了一些关于无代码和580如何工作的事情。CFGŧMAXŧu SLEEPŧDURATIONŧu EXTERNALŧWAKEUPŧMS是一个ŧ定义,它将确定设备的定期唤醒,其默认值为10秒,因此如果没有不可恢复事件,设备将在睡眠模式下保持最长10秒,然后它将立即唤醒并返回睡眠状态。在无代码示例中,如果您停止广告并进入睡眠状态,您将能够看到设备在10秒内周期性地醒来并返回睡眠状态(您是否具有外部唤醒功能),即使你在无代码源代码中放置1小时,并且你想看到设备广告,你也应该在设备一醒来就实现启动广告功能,你不能通过命令来实现。您将必须附加代码,这些代码将在设备从周期性唤醒中唤醒后立即执行。从外部事件中醒来和从不可预知的事件中醒来是两种不同的功能,你可以同时拥有这两种功能。因此,为了在无代码环境中实现类似的功能,您必须在.app\u on \u ble\u powered和.app\u going \u to \u sleep函数中附加一些代码:

在app\u on \u ble \u powered中附加以下函数,以便当设备从中唤醒时,可以定期检查adv\u on \u wakeup(额外变量,用于检查是否应开始广告)标志是否已设置,app\u on \u ble \u powered是一个回调,每次设备定期唤醒时都会执行该回调:

arch\u main\u loop\u callback\u ret\t user\u on \u ble\u powered(void)上的arch\u main\u loop\u callback\u ret\t user\u
{
如果(adv\ U on\ U wakeup)
{
用户_advised();
adv\ U on\ U wakeup=0;
}
回到睡眠状态;
}

并在.app\u going\u to\u sleep中附加以下函数,以便在进入睡眠状态时设置该标志,并且您不再做广告。

无效用户进入睡眠(睡眠模式)
{
if(无代码\u env.gap \u activity==空闲)
adv\ U on\ U wakeup=1;
}

使用上述功能可以让您进入永久睡眠状态,并在定期醒来后立即开始发布广告。

关于配置定期唤醒,请看下面的问题单,因为该机制存在故障。

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...

另外,如果你想这样的功能,我不确定无代码将是您的项目的适当基础,因为它是一个项目,允许您使用UART接口的命令编程设备。

谢谢你的对话

德国186
离线
最后一次见到:1年3个月前
已加入:2016-04-21 12:59
很 完美!谢谢

很 完美!谢谢