1 / 14
文档名称:

睡眠及唤醒.doc

格式:doc   大小:308KB   页数:14
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

睡眠及唤醒.doc

上传人:allap 2016/8/26 文件大小:308 KB

下载得到文件列表

睡眠及唤醒.doc

文档介绍

文档介绍:. 一、承上启下这一篇, 2430 的睡眠功能及唤醒方法。 2430 节点一般是靠电池来供电,因此对其功耗的控制显得至关重要。 2430 2430 的4 种功耗模式的介绍: 从上表中可看出, CC2430 共有 4 种电源模式: PM0 ( 完全清醒), PM1 ( 有点瞌睡)、 PM2 (半醒半睡)、 PM3 (睡的很死)。越靠后,被关闭的功能越多,功耗也越来越低。它们之间的转化关系如下: . 把 PM1 、 PM2 唤醒到 PM0 ,有三种方式:复位、外部中断、睡眠定时器中断;但把 PM3 唤醒到 PM0 ,只有两种方式:复位、外部中断(这是因为在 PM3 下,所有振荡器均停止工作, 睡眠定时器当然也熄火啦~) 下面我们通过一个小实验,来介绍如何进入睡眠模式,以及如何唤醒到 PM0 状态。二、系统睡眠及中断唤醒实验(1 )实验简介系统初始化,处于 PM0 →进入 PM1 → 1s 后被睡眠定时器唤醒为 PM0 →进入 PM2 → 2s 后被睡眠定时器唤醒为 PM0 →进入 PM3 →等待按键 S1 按下,触发外部中断,被唤醒为 PM0 ( 2 )程序流程图. (注:上图中的圆角框表示系统的运行状况) (3 )实验源码及剖析( 下面的框框是可以点的~) 头文件及宏定义/* 实验说明:中断唤醒睡眠实验,分别介绍三种睡眠模式下的唤醒*/ #include <> . #define LED_ON 0 #define LED_OFF 1 #define led1 P1_0 #define led2 P1_1 #define led3 P1_2 #define led4 P1_3 子函数/* 系统时钟初始化-------------------------------------------------------*/ void xtal_init( void ) {SLEEP &= ~0x04 ;// 都上电 while (!(SLEEP &0x40 )); // 晶体振荡器开启且稳定 CLKCON &= ~0x47 ;// 选择 32MHz 晶体振荡器 SLEEP |= 0x04 ; }/*LED 初始化-------------------------------------------------------*/ void led_init( void ) {P1SEL =0x00 ;//P1 为普通 I/O 口 P1DIR |= 0x0F ;// 输出. led1 =LED_OFF; // 关闭所有 LED led2 =LED_OFF; led3 =LED_OFF; led4 =LED_OFF; }/* 外部中断初始化-------------------------------------------------------*/ void io_init( void ) {P0INP &= ~0X02 ;// 有上拉、下拉 EA =1;// 总中断允许 IEN1 |= 0X20 ;// P0IE =1,P0 中断使能 PICTL |= 0X09 ;// 允许中断,下降沿触发 P0IFG &= ~0x02 ;// 中断标志清 0 }. /* 睡眠定时器中断初始化-------------------------------------------------------*/ void sleepTimer_init( void ) {STIF= 0;// 睡眠定时器中断标志清 0 STIE= 1;// 开睡眠定时器中断 EA= 1;// 开总中断}/* 设置睡眠定时器的定时间隔-------------------------------------------------------*/ void setSleepTimer(unsigned int sec) {unsigned long sleepTimer =0; sleepTimer |= ST0; // 取得目前的睡眠定时器的计数值 sleepTimer |= (unsigned long )ST1 << 8; sleepTimer |= (unsigned long )ST2 << 16 ; sleepTimer += ((unsigned long )sec *(unsigned long )32768 ); . // 加上所需要的定时时长 ST2 =(unsigned char )(sleepTimer >> 16 ); // 设置睡眠定时器的比较值 ST1 =(unsigned char )(sleepTimer >> 8); ST0 =(unsigned char )sleepTi

最近更新

2026年党规知识竞赛试题及一套参考答案 17页

2026年刑法培训考试题及答案(必刷) 15页

2026年初级经济师之初级经济师基础知识考试题.. 105页

2026年注册建筑师考试题库200道及答案【最新】.. 84页

2026年注册造价工程师考试题库200道及答案【名.. 86页

2026年反恐防暴考试题库附参考答案(能力提升.. 12页

2026年疾病控制题库附完整答案【名师系列】 41页

2026年税务廉政知识测试题(完整版) 14页

2026年自考专业(会计)考试题库200道附答案【轻.. 84页

2026年安全员考试题库300道附答案【预热题】 85页

2026年安徽卫生健康职业学院单招职业倾向性考.. 43页

2026年宗教审核员考试题库(典优) 40页

2026年高级社会工作师考试200道【培优】 87页

2026青海油田招聘参考题库附答案 46页

c语言考期末试题(word) 13页

2026年暗镜心理测试题库附答案 40页

数组c语言考试题库(a卷) 13页

2026年民族宗教执法考试题库(历年真题) 40页

新安全生产法知识竞赛试题库及完整答案(必刷.. 43页

2026年江苏省泰州市单招职业倾向性测试题库附.. 43页

2026年江阴保安考试题及答案1套 15页

项目英文策划建议书 7页

项目流程编制步骤建议书 5页

项目实施监控批准建议书 5页

2026年注册会计师(CPA)考试题库200道及参考.. 100页

青龙文化发展建议书 6页

青年人生指南建议书 6页

需求自主实施项目建议书 5页

集团学校发展建议书 5页

2025交通运输部所属事业单位第七批统一招聘10.. 18页