计时器禁用

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
4个职位/ 0个新
最后发表
parametrica
离线
最后看到:1年3个月前
加入:2019-07-17 07:57
计时器禁用

亲爱的对话框,

DA14580有两个定时器,每个定时器都有自己的寄存器位来开关它
TIMER0_CTRL_REG [TIM0_CTRL]
TRIPLE_PWM_CTRL_REG [TRIPLE_PWM_ENABLE]

还有一个位CLK_PER_REG[TMR_ENABLE],用于切换两个计时器的时钟。
让CLK_PER_REG[TMR_ENABLE]始终打开是否可以?
会导致明显的电量消耗还是会阻止芯片进入睡眠状态?
还有其他副作用吗?

谢谢!

设备:
PM_Dialog
离线
最后看到:17小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨parametrica,

嗨parametrica,

非常感谢您的在线提问。不知道您想要实现什么,但是SDK包含了关于定时器0和定时器2的示例。请看这些例子。它们都位于projects\target_apps\peripheral_examples SDK路径下。关于睡眠模式,请记住,包括计时器在内的所有外围域都是关闭的。系统在睡眠模式下运行,低功率时钟可以是内部的RCX或外部的XTAL32K振荡器。它不会阻止芯片进入睡眠模式。另外,分享更多关于您的实现的输入也会非常有帮助。

在DA14531的情况下,定时器1可以在休眠中保持活跃,因为时钟源可以在系统时钟(sys_clk)和低功率时钟(lp_clk)之间选择。更多信息请参见DA14531 Timer1软件示例。

谢谢,PM_Dialog

parametrica
离线
最后看到:1年3个月前
加入:2019-07-17 07:57
嗨PM_Dialog,

嗨PM_Dialog,

谢谢你的支持,很抱歉我的问题很模糊。我试图设想的是CLK_PER_REG[TMR_ENABLE]开关背后的基本原理,因为这两个计时器都有单独的开关。

我有一个程序,使用两个定时器独立在程序的不同部分。因此,我必须跟踪两个计时器的使用情况,如果使用任何计时器/没有使用,则开关CLK_PER_REG[TMR_ENABLE]开/关。我的问题是,我真的需要每次都切换CLK_PER_REG[TMR_ENABLE]吗?或者我可以为了一些代码的简单性而始终保持它的开启状态吗?

谢谢。

PM_Dialog
离线
最后看到:17小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨parametrica,

嗨parametrica,

对于Timer0,默认选择32khz时钟,因此TIMER0_CTRL_REG [TIM0_CLK_SEL]位域设置为0。通过设置CLK_PER_REG中的TIM0_CLK_SEL位和TMR_ENABLE位域,可以选择其他四个选项。您还可以通过TMR_DIV位域来控制频率。另外还有一个时钟分频器,可以通过定时器控制寄存器TIMER0_CTRL_REG的TIM0_CLK_DIV位激活。对于定时器2,使用系统时钟除以TMR_DIV(1、2、4或8)来计时,可以使用TRIPLE_PWM_CTRL_REG[TRIPLE_PWM_ENABLE]使能。你不需要每次都转换时间。另外,我建议您使用SDK中提供的驱动程序。

谢谢,PM_Dialog