HAL_BOARD_INIT这是一个硬件初始化函数,主要初始化CC2530的时钟,LED初始化, SLEEPCMD
&= ~OSC_PD;
\
while (!(SLEEPSTA &
XOSC_STB));
\
asm("NOP");
\
for (i=0; i<504; i++)
asm("NOP");
\
这段代码用来开启16M和32M的时钟!并等待32M(外部晶振提供)稳定。
CLKCONCMD = (CLKCONCMD_32MHZ |
OSC_32KHZ); \
while (CLKCONSTA !=
(CLKCONCMD_32MHZ | OSC_32KHZ));
\
SLEEPCMD |=
OSC_PD;
\
这段代码开启了32KHz的时钟,(什么?32KHz晶振不知道到在哪里?)
32kHz的晶振主要用于低功耗的,如果我们不需要低功耗(也就是网络中都是Rout节点和coordinator节点)那我们就不需要这个32KHz的晶振了。
\
PREFETCH_ENABLE();
\
|