自己做了一个CC2530板子。下载的程序如下,实现LED闪烁。问题是:选择外部晶振时或内部晶振时都会出现LED时亮时不亮,闪烁频率也不稳定。最后就完全不闪烁。刚开始以为外部晶振不起振,或起振不稳,但是内部晶振也出现问题。请问这是什么原因。。。。。。。。。。。。。。。。。?(之前就问过类似问题,一直没有个解决办法)
/*************************************************************************/
#include"ioCC2530.h"
#define crystal 0 //石英晶振
#define rc 1 //RC晶振
//设置主时钟
void set_main_clock(source)
{ if(source) { CLKCONCMD |= 0X40; //选择16MHZ RCOSC为系统时钟源 while(!(CLKCONSTA & 0X40)); //等待时钟稳定
}else
{ CLKCONCMD &= ~0X40; //选择32MHZ XOSC为系统时钟源 while(CLKCONSTA & 0X40); //等待时钟稳定
}
}
//设置系统低速时钟
void set_low_clock(source)
{ if(source) CLKCONCMD |= 0X80; //选择32KHZ RCOSC为低速时钟源 else CLKCONCMD &= ~0X80; //选择32KHZ XOSC为低速时钟源
}
void main( void )
{
set_main_clock(1); set_low_clock(1); P1DIR = 0xff;
//APCFG |= 0xf0;
//P0DIR = 0x00; P1_0 = 1; P1_1 = 1;
P1_2 = 1; P1_3 = 0;
P1_4 = 1; while(1)
{
char i,j,k,m;
for( i=0;i<0xff;i++ )
{
for( j=0;j<0xff;j++ )
{
for( m=0;m<0x08;m++ )
{} }
}
P1_4 = !P1_4;
P1_0 = !P1_0;
P1_1 = !P1_1; }
}
VV:
用示波器看下的晶振输出,看下IO输出,是否稳定。
yong zeng:
回复 VV:
用示波器看过,没有输出。我现在怀疑是芯片焊接的问题,因为是手工焊接的。
Susan Yang:
回复 yong zeng:
手工焊接CC2530的成功率很低,建议首先检查下硬件上的问题