原创 CC2430睡眠定时器实现唤醒

2008-5-21 16:32 5240 9 16 分类: MCU/ 嵌入式


CC2430的睡眠定时器(SLEEP TIMER)是一个24位的计数器,可以用来作为唤醒中断(仅PM0-2)下面有效,ST的计数时钟是32.768K,向上计数,可以和一个24数比较以产生中断,在PM2仍然工作,可以产生中断和触发DMA。
这里只讲如何设置进入低功耗模式后的唤醒时间,ST0,ST1,ST2可读可写,但是我觉得这3个寄存器类似于串口的BUFFER,实际上是两个寄存器。因此就计数来说,ST(指ST0,ST1,ST2 下同)是不可写的,我这里把它称为STa,对于设置比较数来说,ST是不可读的,我把它称为STb。这样的话相实现定时唤醒就要利用STb和STa的数差,相差32768,就表示1秒唤醒一次,相差n*32768表示n秒唤醒一次,这里的n可以是小数。下面是实现唤醒的代码:


void Set_ST_Period(UINT16 sec)
{
   UINT32 sleepTimer = 0;


   sleepTimer |= ST0;
   sleepTimer |= (UINT32)ST1 <<  8;
   sleepTimer |= (UINT32)ST2 << 16;


   sleepTimer += ((UINT32)sec * (UINT32)32768);


   ST2 = (UINT8)(sleepTimer >> 16);
   ST1 = (UINT8)(sleepTimer >> 8);
   ST0 = (UINT8) sleepTimer;
}


void main(void)
{
 OPEN_ST_INT() ;//开中断
 while(1)
 {
   Set_ST_Period(10);//10sec 一次唤醒
   SET_POWER_MODE(PM2);//进入低功耗模式
 }


}

文章评论7条评论)

登录后参与讨论

用户418627 2012-9-21 00:32

http://g.hiphotos.baidu.com/space/pic/item/faedab64034f78f02937b77179310a55b3191c77.jpg

用户398585 2010-12-5 10:19

正在做一个类似的,遇到一个问题卡住了:主动轮的图纸可一个我下吗,我做来做去扣不住啊,还有路轮也是 邮箱:yysyxxx@163.com

zigbee_904218839 2008-11-27 10:05

超过了对0XFFFFFFFF求模

用户27701 2008-11-24 14:31

如果要休眠5分钟,写入 ST0,ST1,ST2的值 = 5分钟 + ST0 ,ST1,ST2当前的值. 那如果相加后写入的值超过了0xFFFFFF怎么办??

用户481949 2008-11-23 21:05

你好,我现在要用到睡眠定时器实现唤醒,但是不知道怎么实现, OPEN_ST_INT() 这个开中断函数不知道是怎么写的,能不能麻烦你帮忙一下,谢谢! 我的邮箱是:jervishappy@gmail.com 希望能和你交流。

用户481949 2008-11-23 21:04

你好,我现在要用到睡眠定时器实现唤醒,但是不知道怎么实现, OPEN_ST_INT() 这个开中断函数不知道是怎么写的,能不能麻烦你帮忙一下,谢谢! 我的邮箱是:jervishappy@gmail.com 希望能和你交流。

用户461316 2008-10-6 14:31

好像没有进展哦~!

用户1338148 2008-8-18 11:10

简单点说,如果要休眠5分钟, 写入 ST0,ST1,ST2的值 = 5分钟 + ST0 ,ST1,ST2当前的值 在cc2430复位以后ST0,ST1,ST2,就立即开始计数了,并不是我们写ST0,ST1,ST2的时候开始计数

用户1256314 2008-8-16 10:45

强人,猛烈支持。关注后续成果

用户1256314 2008-8-16 10:44

强人,猛烈支持
相关推荐阅读
emot 2016-06-29 23:39
想在网上直播来讲讲zigbee,大家怎么看
近来发现zigbee热度不减,不才想把所了解的zigbee都跟大家分享,大致按照这个来做。请大家提些建议,是不是还有特别重要但我遗漏的。先来攒些人,人够了我们就开。 --------------...
emot 2015-09-24 07:06
BLE 空中升级谈(二)
BLE 空中升级谈   -- CC2541 的产品开发中OAD注意事项(续)   TI CC2541支持多个硬件,多个软件对它进行空中升级,可以有不同的组合,硬件有    ...
emot 2015-09-24 07:01
BLE 空中升级谈
BLE 空中升级谈   -- CC2541 的产品开发中OAD注意事项     现在的智能设备(可穿戴,智能家居,智能玩具等)是越来越多了,大公司的产品颜值高,功能强大而完备的应该说是比比皆是,这里...
emot 2015-05-19 10:27
寻找共事的朋友[深圳科技园 嵌入式软件 可穿戴]
岗位职责:嵌入式软件工程师 招聘人数:2 简历语言要求:中文 语言能力:英语 掌握程度:熟练 工作地点:深圳南山科技园 工作待遇:面谈   工作职责: 1. 与硬件工程师合作完...
emot 2014-05-06 08:41
CC2530的通信速率实测
首先要说的是这里的测试包括了zigbee与非zigbee两种情况,测试zigbee的通信速率建议使用TI协议栈ZSTACK-2.5.1A(swrc126.zip)中的TransmitApp来进行测...
emot 2014-01-17 18:08
XBee与 RBee ZigBee透明传输模块互传测试
XBee与 RBee ZigBee透明传输模块互传测试   本次测试的目标是为了初步探索ZigBee透明传输模块的传输速率峰值范围,同时也要检查不同公司模块之间的兼容性。测试的目标是 由美国Digi提...
我要评论
7
9
关闭 站长推荐上一条 /2 下一条