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

📄 rf_test.c

📁 无线龙c2510无线单片机点对点试验。 适用于初级选手。
💻 C
字号:
/******************************************************************************
*                                                                             *
*    ****       ******       ****
*     ****     ********     ****
*      ****   ****  ****   ****
*       **** ****    **** ****              wxl
*        *******      *******
*         *****        *****                    成都无线龙通讯科技有限公司
*                                                                             *
*******************************************************************************

Filename:     uart.c                          文 件 名:      uart.c
Target:       cc1110                          使用芯片:       cc1110
Author:       WXL                             程 序 员:      无线龙
data:         1/12-2007                       日    期:      1/12-2007
******************************************************************************/
/**********************************头文件**************************************/

#include "app_ex.h"
#include "cul.h"
#include "menu.h"
#include "string.h"
#ifdef CC2510_NOD_RX
#include "mydefine.h"
#endif
/******************************************************************************/


#define ADDRESS_0 0x01
#define ADDRESS_1 0x02
#define RECEIVE_TIMEOUT               1200

#define PER_RECEIVE_TIMEOUT          10000

void rf_test_main(void);
void receiveMode(void);
void contionuousMode(void);

UINT8 myAddr;
UINT8 remoteAddr;
BOOL myAddressSet = FALSE;
UINT32 frequency;

void NOD_TO_NOD(char sell)
{
  if(sell == 0)
  {
    myAddr = ADDRESS_0;            //设置自己地址
    remoteAddr = ADDRESS_1;        //设置接收地址
    radioInit(frequency, myAddr);  //RF初始化
    INT_GLOBAL_ENABLE(INT_ON);     //中断使能
    contionuousMode();             //连续发送模式
  }
  else if(sell == 1)
  {
    myAddr = ADDRESS_1;            //设置自己地址
    remoteAddr = ADDRESS_0;        //设置接收地址
    radioInit(frequency, myAddr);  //RF初始化
    INT_GLOBAL_ENABLE(INT_ON);     //中断使能
    receiveMode();                 //接收模式
   }
}

/******************************************************************************
* @fn  contionuousMode
*
* @brief
*      Function for transferring packets until stopped by user.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void contionuousMode(void)
{
   BOOL res;
   int i = 0;
   BYTE sendBuffer1[] = "hello world";            //发送的数据设置
   BYTE sendBuffer2[] = "hello CDWXL";
   P1DIR |= 0x02;
   while(1){
      if(i==0)
      {
        res = radioSend(sendBuffer1, sizeof(sendBuffer1), remoteAddr, DO_ACK); //发送数据
        i++;
      }
      else
      {
        res = radioSend(sendBuffer2, sizeof(sendBuffer2), remoteAddr, DO_ACK); //发送数据
        i = 0;
      }
      if(res == TRUE)                              //发送成功
      {
            YLED = !YLED;
      }
      else
      {
            YLED = 1;
      }
      halWait(200);
      halWait(200);
   }
}
/******************************************************************************
* @fn  receiveMode
*
* @brief
*      Function for receiving data.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void receiveMode(void)
{
   BYTE* receiveBuffer;
   BYTE length;
   BYTE res;
   BYTE sender;
#ifdef CC2510_NOD_RX
   unsigned char temp2[5] = {0x68,0xaa,'U','Y','J'};
#endif
   P1DIR |= 0x02;
   while( !stopApplication() )
   {
      res = radioReceive(&receiveBuffer, &length, RECEIVE_TIMEOUT, &sender);//接收数据

      if(res == TRUE)                      //接收成功
      {
        YLED = !YLED;
#ifdef CC2510_NOD_RX
        Print_word(receiveBuffer,4,0,length-1);
        UartSendWord(temp2,5);
        UartSendWord((void*)di_yz,sizeof(di_yz));
#endif
      }
      else
      {
         YLED = 1;
      }
   }
}





⌨️ 快捷键说明

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