freetech

你的低功耗系统多长时间醒一次?——kinetis下RTC报警中断例子

0
阅读(2511)

有个网友说做个系统1小时唤醒一次,之前是用一个外置RTC芯片。我看了下kinetis的手册,其实内部RTC也可以实现。并且唤醒周期更灵活,可以是“若干年若干月若干天若干小时若干分若干秒”后产生中断并唤醒cpu。有了RTC,CPU可以安然入睡了,等到你设置的那一秒到来时会唤醒cpu。

kinetis的RTC有个寄存器RTC Time Alarm Register (RTC_TAR)来设置唤醒时间。下面看一个例子(本例子没让CPU进入低功耗模式,实际上RTC中断可以在任何低功耗模式下唤醒CPU):

点“文件”->“新建”

image

选祼板项目,如下图:

image

起个名字,点“下一步”出现下图所示界面:

image

选择你要用的芯片,点“下一步”出现下图所示界面:

image

选你用的仿真器(本例中是USBDM),点“下一步”出现下图所示界面:

image

选择你用的语言(本例用C),点“下一步”出现下图所示界面:

image

选“Processor Export”,点“下一步”出现下图所示界面:

image

选择你用的芯片的封装,点“下一步”出现下图所示界面:

image

点完成,一个项目就创建好了。

双击“Components Library”下的“RTC_LDD”,出现下图所示界面:

image

设置成下面的样子:

image

这样运行一小时后将进入RTC中断。