睡眠定时器用于设置芯片进入和退出低功耗模式之间的周期,需要配置如下寄存器:

  • ST0:睡眠定时器的Bit_0Bit_7
  • ST1:睡眠定时器的Bit_8Bit_15
  • ST2:睡眠定时器的Bit_16Bit_23
#include <ioCC2530.h>#define uint unsigned int
#define uchar unsigned char#define UINT8 unsigned char
#define UINT32 unsigned long#define LED2 P1_1void Delayms ( uint );
void InitLed ( void );
void SysPowerMode ( uchar sel );void Delayms ( uint xms ) {uint i, j;for ( i = xms; i > 0; i-- )for ( j = 587; j > 0; j-- );
}void InitLed ( void ) {P1DIR |= 0x02;P1INP |= 0X02;LED2 = 0;
}void SysPowerMode ( uchar mode ) {uchar i, j;i = mode;if ( mode < 4 ) {SLEEPCMD |= i;for ( j = 0; j < 4; j++ );PCON = 0x01;} else {PCON = 0x00;}
}void Init_SLEEP_TIMER ( void ) {ST2 = 0X00;ST1 = 0X00;ST0 = 0X00;EA = 1;STIE = 1;STIF = 0;
}void Set_ST_Period ( uint 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 ) {uchar i;InitLed();Init_SLEEP_TIMER();while ( 1 ) {for ( i = 0; i < 6; i++ ) {LED2 = ~LED2;Delayms ( 200 );}Set_ST_Period ( 3 ); /* 重新进入睡眠模式 */SysPowerMode ( 2 ); /* 进入PM2低频晶振模式 */}
}#pragma vector = ST_VECTOR
__interrupt void ST_ISR ( void ) { /* 中断唤醒 */STIF = 0; /* 清标志位 */SysPowerMode ( 4 ); /* 进入正常工作模式 */
}

CC2530定时器唤醒相关推荐

  1. CC2530基础实验:(11)系统睡眠唤醒--定时器唤醒

     目录 前言 一.实验相关电路图 二.实验相关理论与寄存器 三.源码分析 前言 1) 为什么要睡眠? Zigbee的特点就是远距离低功耗的无线传输设备,节点模块闲时可以 进入睡眠模式,在需要传输数据时 ...

  2. CC2530睡眠唤醒模式

    CC2530睡眠唤醒模式 睡眠唤醒模式可以让mcu进入睡眠模式,并在规定的时间唤醒.一般情况下,唤醒后,可执行相关任务,完成任务后需要手动再次进入睡眠工作,并设置唤醒时间.代码如下: #include ...

  3. CC2530定时器1使能

    CC2530定时器1 CC2530有5个定时器(定时器1,定时器2,定时器3,定时器4,睡眠定时器),定时器1是一个16位定时器,有3种模式分别是自由运行模式.模模式.正计数/倒计数模式. 1)自由运 ...

  4. CC2530 定时器应用

    CC2530 定时器应用 任务分析 知识储备 相关寄存器知识 T1CTL-定时器1的控制和状态 T1CCTL0-定时器1通道0捕获/比较控制 T1CC0H和T1CC0L-定时器1通道0捕获/比较值的高 ...

  5. 13、ZigBee 开发教程之基础篇—CC2530 睡眠定时器唤醒系统

    文章目录 1.实验目的 2.实验设备 3.实验相关电路图 4.实验相关寄存器 5.源码分析 6.实验现象 1.实验目的 1)为什么要睡眠?   ZigBee 的特点是远距离低功耗的无线传输设备,节点模 ...

  6. 8、ZigBee 开发教程之基础篇—CC2530 定时器T3的使用

    文章目录 1.实验目的 2.实验设备 3.实验相关电路图 4.实验相关寄存器 5.源码分析 1.实验目的 1)通过实验掌握 CC2530 芯片 GPIO 的配置方法 2)掌握 Led 驱动电路及开关 ...

  7. CC2530定时器T1产生PWM

    最近搞PWM波输出,参考了一下网上的代码自己总结出CC2530 PWM的配置过程:(此处以T1为例) 配置PWM模式需参考CC2530用户手册中"表7-1 外部设备I/O引脚映射" ...

  8. cc2530 定时器控制LED灯以不同的频率闪烁

    1.cc2530有两个LED灯: 定时器有4种工作方式; 可通过定时器 T1 以及 定时器 T3同时来分别控制LED灯的闪烁,我们让定时器1处于8分频的自由模式下,T1 为16位的计数器,计数器每8/ ...

  9. CC2530定时器3

    CC2530用定时器3完成对LED1周期为2s控制 首先大家需要了解的是CC2530有4个定时器,分别是,定时器1~4和睡眠定时器,我们常用的是定定时器1,可是今天看到课后的习题需要用定时器3,来完成 ...

  10. cc2530定时器和捕获比较_STM32学习日志——输入捕获实验(20.06.26)

    今天学习的是通用定时器的第三个功能--输入捕获,它的作用是检测到TIMx_CHx的边沿跳变(上升沿或下降沿),即可将当前定时器的存放在捕获/比较寄存器中. 输入捕获滤波器可以通过TIMx_CCMR1的 ...

最新文章

  1. 团队作业8----第二次项目冲刺(Beta阶段) 第六天
  2. Linux中Apache2fail,apache2 启动失败,出现下列错误,请问怎么解决,谢谢
  3. WordPress按钮秒支付插件发布,支持微信支付,支付宝,银联,京东,苏宁,易宝支付...
  4. android 开发 命名规范
  5. SAP UI5 框架画Button的入口
  6. C++标准库与Java基础类对照表
  7. Huffman编码(Huffman树)
  8. Knative 驾驭篇:带你 '纵横驰骋' Knative 自动扩缩容实现
  9. [CareerCup] 14.1 Private Constructor 私有构建函数
  10. 安装IDEA,还有插件推荐
  11. PN结的形成及PN结工作原理(单向导电)讲解
  12. dwcs6 php 教程,初学者如何使用Dreamweaver CS6 (Dreamweaver CS6详细使用教程)
  13. Android客户端支付宝支付
  14. LayoutInflator#Inflate(...)
  15. 运动耳机怎么选,盘点目前适合运动的几款耳机
  16. hexo大家博客时浏览量和访客量异常
  17. 有关直方图的常用操作
  18. css如何改变视频大小,调整视频的大小取决于屏幕尺寸少用CSS
  19. elasticsearch OOM
  20. html5微信语音转文字,文字转换语音软件:我有个朋友不会识字 怎么能把微信上别人发给他的文字转换成语音...

热门文章

  1. matlab自动交易系统 浏览
  2. 什么是推荐系统以及应用场景
  3. iOS13 暗黑模式(Dark Mode)适配之OC版
  4. SQL Server从入门到精通pdf
  5. 2019matlab安装
  6. python操作腾讯文档_python查看文档
  7. python函数手册中文,python函数中文手册.doc
  8. [已解决]安装MPICH2(x64)时显示需要安装NET FRAMEWORK 2.0.50727
  9. MFC建立C语言项目,mfc开发(mfc项目开发实例85个)
  10. Java思维导图(3)