CC2531芯片使用问题
本人构想 移植cc2530协议栈到cc2531,组网成功后加上USB转虚拟串口将数据通过USB接口上传给上位机:
目前遇到情况是这样的:协调器建立网络后,路由器加入的时候,我用电源供电有几率进入不了网络,但是我用手乱摸,摸到哪儿不一定突然就能进去发送数据,只要不断电该模块就是正常通信的,一旦掉电,又得乱摸才能进入网络,焊接应该是没问题的,我在调试的时候发现卡在MAC_RADIO_TIMER_WAKE_UP();这个函数了。
我只用了一个32M晶振,协议栈的HAL_BOARD_INIT()
SLEEPCMD &= ~OSC_PD; /* turn on 16MHz RC and 32MHz XOSC */ \
while (!(SLEEPSTA & XOSC_STB)); /* wait for 32MHz XOSC stable */ \
asm("NOP"); /* chip bug workaround */ \
for (i=0; i<504; i++) asm("NOP"); /* Require 63us delay for all revs */ \
CLKCONCMD = (CLKCONCMD_32MHZ | OSC_32KHZ); /* Select 32MHz XOSC and the source for 32K clock */ \
while (CLKCONSTA != (CLKCONCMD_32MHZ | OSC_32KHZ)); /* Wait for the change to be effective */ \
SLEEPCMD |= OSC_PD; /* turn off 16MHz RC */ \
\
/* Turn on cache prefetch mode */ \
PREFETCH_ENABLE(); \
\
HAL_TURN_OFF_LED1(); \
LED1_DDR |= LED1_BV; \
HAL_TURN_OFF_LED2(); \
LED2_DDR |= LED2_BV;
这种现象是什么造成的,是静电吗,还是硬件哪里地没接通,还是说我再哪里配置出问题了呢,目前的HAL_UART_USB我设置为0,因为USB部分现在还没有做
NV-RESTORE我在编译预选项中是加入了的
我用的SampleAPP这个例子做的,协调器上电自动建立网络,路由器上电自动加入网络,是不是需要另外的配置,网络建立和加入网络过程我自己没有做任何调整
-
OSC32K_CRYSTAL_INSTALLED=FALES
编译预选项中加入以上项试试,和32.768k晶振有关。