微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > CC2530中的寄存器SLEEPCMD中的各个位都是什么意思?

CC2530中的寄存器SLEEPCMD中的各个位都是什么意思?

时间:10-02 整理:3721RD 点击:

void Global_Init(void)
{
uint16 i;
SLEEPCMD &= ~OSC_PD;//OSC_PD=0X04;开启16MHZ RC 和32MHz XOSC

while (!(SLEEPSTA & XOSC_STB));//XOSC_STB=OX40;等待32MHz XOSC稳定
asm("NOP");
for (i=0; i<504; i++) asm("NOP");//延时63us
CLKCONCMD = (CLKCONCMD_32MHZ | OSC_32KHZ);//设置32MHz XOSC 和 32K XOSC时钟
while (CLKCONSTA != (CLKCONCMD_32MHZ | OSC_32KHZ));//等待时钟生效
SLEEPCMD |= OSC_PD;//关闭16MHz RC
PREFETCH_ENABLE();//FCTL=0XO8;缓存使能,预取模式
APCFG=0xC2;//P0.1 P0.6 P0.7模拟使能
}


我想问的是CC2530中的寄存器SLEEPCMD中的各个位都是什么意思?好像跟我PO上的图不一样;

SLEEPCMD &= ~OSC_PD;这句话的意思是把SLEEPCMD的第二位给置0;可是我上面的图第二位写的是保留

我下载的资料可能有点错误;请教一下各位大神给我介绍一下


这个设置是可以满足要求的
其次,OSC_PD=0X04这句话是根据宏定义来推算出来的,并没有错误
最后,我的问题是,我需要正确的SLEEPCMD各个位的不同的值代表什么意思。
附录:给你看看底层文件的宏定义,你可以自己推算一下
#ifndef BV
#define BV(n)      (1 << (n))
#endif
#define OSC_PD     BV(2)

受教了!正在学习物联网!

你看的是CC2530的手册,这个位是保留的,要去看CC2430手册才有这位的定义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top