《ZigBee开发笔记》第二部分 基础篇-第8章 CC2530系统睡眠唤醒—中断唤醒

本文详细介绍了CC2530的睡眠定时器,包括24位定时器功能、比较器中断、捕获机制以及不同工作模式。在实验部分,阐述了如何通过定时器唤醒系统并分析了相关寄存器配置,旨在理解低功耗模式的管理和中断唤醒机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 理论分析

1.1 CC2530 睡眠定时器简介

睡眠定时器用于设置系统进入和退出低功耗睡眠模式之间的周期。睡眠定时器还用于当进入低功耗睡眠模式时,维持定时器 2 的定时。

睡眠定时器的主要功能如下:

 24 位的定时器正计数器,运行在 32kHz 的时钟频率
 24 位的比较器,具有中断和 DMA 触发功能
 24 位捕获

1、概述
睡眠定时器是一个 24 位的定时器,运行在一个 32kHz 的时钟频率(可以是 RCOSC 或 XOSC)上。定时器在复位之后立即启动,如果没有中断就继续运行。定时器的当前值可以从 SFR 寄存器 ST2:ST1:ST0 中读取。

2、定时器比较
当定时器的值等于 24 位比较器的值,就发生一次定时器比较。通过写入寄存器 ST2:ST1:ST0 来设置比较值。当 STLOAD.LDRDY 是 1 写入 ST0 发起加载新的比较值,即写入 ST2、ST1 和 ST0 寄存器的最新的值。

加载期间 STLOAD.LDRDY 是 0,软件不能开始一个新的加载,直到 STLOAD.LDRDY 回到 1。读 ST0 将捕获 24 位计数器的当前值。因此,ST0 寄存器必须在 ST1和 ST2 之前读,以捕获一个正确的睡眠定时器计数值。当发生一个定时器比较,中断标志 STIF 被设置。每次系统时钟,当前定时器值就被更新。因此,当从 PM1/2/3(这期间系统时钟关闭)返回,如果尚未在

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruceoxl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值