这是我的原理图和程序
都很简单的.
main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
Init_MCU();
Init_RF(); //初始化
StrobeCmd(CMD_PLL);//射频芯片命令
SetCH(100); //freq 2450MHz//设置射频蒸芯片工作频率.
WriteFIFO(8); //写发送的ID号数据到射频芯片上.
while(1)
{
LPM1; //进入睡眠
_NOP();
_NOP();
StrobeCmd(CMD_STBY); //射频芯片命令
DelayMs(1);
// A7325_Call(); //calibration IF,VCO,VCOC
TACTL = MC_0; //停止定时器
BCSCTL1 = CALBC1_1MHZ; ; //CALBC1_8MHZ; // Set range
DCOCTL = CALDCO_1MHZ; ;//CALDCO_8MHZ; //设置速度DCO;
BCSCTL2 = 0x00;
_NOP();
_NOP();
StrobeCmd(CMD_TX); //射频芯片发送数据
while(P1IN & 0x02); //等待发送完成.
DelayMs(3);
StrobeCmd(CMD_SLEEP);//射频芯片睡眠
P1OUT ^= 0x20; //指示灯.
BCSCTL1 = 0x0000;// //设置速度DCO,最低频.
DCOCTL = 0x0000;//
BCSCTL2 = 0x00;
TACTL = TAIE + MC_2 + TASSEL_2 + TACLR + ID_3;//启动定时器
TAR = 0xFCE0; //定时时间值
}
// return 0;
}
|