- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
CC2530中的寄存器SLEEPCMD中的各个位都是什么意思?
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手册才有这位的定义。
上一篇:杂散测试线损问题?
下一篇:想学习BLE蓝牙的硬软件开发,求推荐书籍