⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfconfig.c

📁 传感器网络CC2430模块开发,IEEE802.15.4 MAC 协议实现源程序.
💻 C
字号:
/******************************************************************************
*                                                                             *
*        **********                                                           *
*       ************                                                          *
*      ***        ***                                                         *
*     ***    ++    ***                                                        *
*     ***   +  +   ***                      CHIPCON                           *
*     ***   +                                                                 *
*     ***   +  +   ***                                                        *
*     ***    ++    ***                                                        *
*      ***        ***                                                         *
*       ************                                                          *
*        **********                                                           *
*                                                                             *
*******************************************************************************

Filename:     rfConfig.c
Target:       cc2430
Author:       EFU
Revised:      1/3-2007
Revision:     1.1
******************************************************************************/
#include "hal.h"

//-----------------------------------------------------------------------------
// See hal.h for a description of this function.
//-----------------------------------------------------------------------------
BOOL halRfConfig(UINT32 frequency)
{
   BOOL status;

   //Turning on crystal oscillator
   SET_MAIN_CLOCK_SOURCE(CRYSTAL);

   // Setting the frequency
   halRfSetRadioFrequency(frequency);

   // Checking that the entered frequency is valid
   if (frequency > 2047000)
   {

     // turning on power to analog part of radio and waiting for voltage regulator.
     RFPWR = 0x04;
     while( RFPWR & 0x10 );

     // Turning off Address Decoding
     MDMCTRL0H &= ~ADR_DECODE;

     // Setting for AUTO CRC
     MDMCTRL0L |= AUTO_CRC;

     // Turning on AUTO_TX2RX
     FSMTC1 = ((FSMTC1 & (~AUTO_TX2RX_OFF & ~RX2RX_TIME_OFF))  | ACCEPT_ACKPKT);

     // Turning off abortRxOnSrxon.
     FSMTC1 &= ~0x20;



     status = TRUE;
   }
   else {
      status = FALSE;
   }

   return status;
}


//-----------------------------------------------------------------------------
// See hal.h for a description of this function.
//-----------------------------------------------------------------------------
void halRfSetRadioFrequency(UINT32 frequency)
{
   frequency /= (UINT32)1000;
   frequency -= (UINT32)2048;

   FSCTRLL = LOBYTE(frequency);
   FSCTRLH &= ~0x03;
   FSCTRLH |= (HIBYTE(frequency) & 0x03);
   return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -