我可以在ext睡眠期间关闭Periphh,使Timer0可以工作

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
8个帖子/ 0新
最后一篇
布伦特朱胜
离线
最后一次露面:1个月3周前
加入:2017-08-25 07:50
我可以在ext睡眠期间关闭Periphh,使Timer0可以工作

嗨,对话
在我的项目中,我需要测量GPIO中断高到低电平且低到高的时间,有时时间非常短,如0.1ms。所以我不能用蜱虫。为了节省电力消耗,我希望设备留在EXT睡眠中,Timer0工作在背景中并设置GPIO唤醒。一旦GPIO中断触发,我将读取Timer0计数并记录它。
现在,默认情况下,问题是Timer0在Ext睡眠期间关闭。我可以将系统设置为EXTSLEEP,但保持TIMER0电源吗?
谢谢。

此致,
布伦特郑

设备:
sts_dialog(未经验证)
嗨Brent_zheng,

嗨Brent_zheng,

当设备与所有外围设备一起睡眠时,定时器(0和2)熄灭,您必须必须在扩展睡眠模式下启用计时器的唯一选项是内核计时器(App_easy_timer())。在这种情况下,您必须记住,在定时器结束后,每次执行此过程时,中断都会叫声,并且BLE唤醒。

谢谢,

sts_dialog。

布伦特朱胜
离线
最后一次露面:1个月3周前
加入:2017-08-25 07:50
亲爱的sts_dialog,

亲爱的sts_dialog,

感谢您的快速答复。
内核计时器无法满足我的要求,因为我需要花时间段小于一个刻度。我可以在ext睡眠期间保留所有外围设备吗?
谢谢。

sts_dialog(未经验证)
你可以保持所有的

您可以保留所有外围设备,但在这种情况下,您将通过LP时钟更新您的定时器(0或2)。您可以建议DA14585的数据表(在数据表部分中的文档选项卡中)。在您的方案中,静态内联void arch_turn_peripherals_off()函数将根据您的实施计划工作。

谢谢,

sts_dialog。

布伦特朱胜
离线
最后一次露面:1个月3周前
加入:2017-08-25 07:50
亲爱的sts_dialog,

亲爱的sts_dialog,

但是在EXT睡眠期间尝试启用所有外设时,我出现了问题。我试图在Arch_turn_PeripheralLAS_OFF函数中更改以下:
// setbits16(pmu_ctrl_reg,periph_sleep,1);//关闭外围电源域
setBits16(PMU_CTRL_REG,PERIPH_SLEEP,0);
甚至没有打开定时器(0或2),设备将在BLE通告期间重复复位。
如果我在Arch_Goto_Sleep中没有调用Arch_turn_Peripherals_off,则可以正常运行。但它似乎没有进入ext睡眠,因为scb-> scr | = 1 << 2;仅在ARCH_TURN_PERINITALLE_OFC中设置。

那么你能否建议我如何修改SDK代码,在ext睡眠期间启用应用程序外围设备打开?
谢谢。

sts_dialog(未经验证)
嗨Brent_zheng,

嗨Brent_zheng,

最好不要修改核心SDK代码,因为这可能有其他问题,这将需要大量测试。

谢谢,

sts_dialog.

布伦特朱胜
离线
最后一次露面:1个月3周前
加入:2017-08-25 07:50
亲爱的sts_dialog,

亲爱的sts_dialog,

如果我可以使用延长睡眠模式,我可以使用Timer0是非常有帮助的。那么你可以帮我检查一下吗?
谢谢。

此致,
布伦特郑

sts_dialog(未经验证)
你好,

你好,

我们现在无法支持计时器0的使用情况。

请查看以下链接:

https://support.dialog-semicondiondiondum/smarttag-ref-design-sleep-mode -...

谢谢,

sts_dialog。