亲爱的对话框,
DA14580有两个定时器,每个定时器都有自己的寄存器位,以打开/关闭它
timer0_ctrl_reg [tim0_ctrl]
triple_pwm_ctrl_reg [triple_pwm_enable]
还有一个位CLK_PER_REG [TMR_ENABLE]切换两个定时器的时钟。
始终留下clk_per_reg [tmr_egable]是否可以?
它会导致显着的功耗,也可以防止芯片进入睡眠状态吗?
任何其他副作用?
谢谢!
设备:
嗨parametrica,
非常感谢您在线的问题。不确定您尝试完成的内容,但SDK包含关于计时器0和计时器2的示例。请查看这些示例。两者都位于Projects \ target_apps \ peripherall_examples sdk路径下。关于睡眠模式,请记住,所有包括计时器的外围域都断电。在睡眠模式下运行时的系统采用低功耗时钟运行,可为内部RCX或外部XTAL32K振荡器。它不会阻止芯片进入睡眠模式。此外,分享有关您的实施的更多投入会非常有帮助。
在DA14531的情况下,定时器1可以在睡眠中保持活跃,因为时钟源可在系统时钟(SYS_CLK)和低功耗时钟(LP_CLK)之间选择。有关获取更多信息,请参阅DA14531 Timer1软件示例。
谢谢,PM_DIALOG.
嗨pm_dialog,
感谢您的支持,抱歉我的模糊问题。我试图设想的是CLK_PER_REG [TMR_REG [TMR_EGABLE]交换机的基本原理,因为两个定时器都有单独的交换机。
我有一个程序,它在程序的不同部分中独立使用两个定时器。因此,如果使用任何定时器/无,则必须跟踪定时器和Switch Clk_Per_Reg [TMR_Enable]开/关的使用。我的问题是,我真的需要每次切换clk_per_reg [tmr_enable],或者我可以始终保持它的句号,以便有一些代码简单?
谢谢。
嗨parametrica,
关于Timer0,默认选择32 kHz时钟,所以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.