📄 rf_test.c
字号:
/******************************************************************************
* *
* ********** *
* ************ *
* *** *** *
* *** ++ *** *
* *** + + *** CHIPCON *
* *** + *
* *** + + *** *
* *** ++ *** *
* *** *** *
* ************ *
* ********** *
* *
*******************************************************************************
Filename: rf_test.c
Target: cc2510
Author: efu
Revised: 20/6-2006
Revision: 1.0
Description:
This file provides 4 small tests which demonstrates use of the radio.
******************************************************************************/
#include "app_ex.h"
#include "cul.h"
#include "pingPong.h"
#include "menu.h"
#include "string.h"
#include "uart.h"
#ifdef CC1110_CSMA_RX
#include "mydefine.h"
#endif
#define ADDRESS_0 0x01
#define ADDRESS_1 0x02
#define RECEIVE_TIMEOUT 1200
void receiveMode(void);
void contionuousMode(void);
UINT8 RxTxState;
UINT8 myAddr;
UINT8 remoteAddr;
BOOL remoteAddressSet = FALSE;
BOOL myAddressSet = FALSE;
UINT32 frequency;
void CSMA(char sell)
{
if(sell == 0)
{
myAddr = ADDRESS_0;
remoteAddr = ADDRESS_1;
radioInit(frequency, myAddr);
INT_GLOBAL_ENABLE(INT_ON);
contionuousMode();
}
else if(sell == 1)
{
myAddr = ADDRESS_1;
remoteAddr = ADDRESS_0;
halWait(10);
radioInit(frequency, myAddr);
INT_GLOBAL_ENABLE(INT_ON);
halWait(10);
receiveMode();
}
}
/******************************************************************************
* @fn contionuousMode
*
* @brief
* Function for transferring packets until stopped by user.
*
* Parameters:
*
* @param void
*
* @return void
*
******************************************************************************/
void contionuousMode(void)
{
BOOL res;
INT8U count;
#ifdef CC1110_CSMA_TX1
BYTE sendBuffer1[] = "hello world";
#else
BYTE sendBuffer1[] = "hello CDWXL";
#endif
while(1){
RLED = LED_OFF;
YLED = LED_ON;
res = radioSend(sendBuffer1, sizeof(sendBuffer1), remoteAddr, DO_ACK);
YLED = LED_OFF;
if(res == TRUE)
{
if(++count > 1)
{
RLED = LED_ON;
if(count >=250)
{
count = 2;
}
}
}
else
{
count = 0;
}
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 CC1110_CSMA_RX
unsigned char temp2[5] = {0x68,0xaa,'U','Y','J'};
#endif
while( !stopApplication() )
{
res = radioReceive(&receiveBuffer, &length, RECEIVE_TIMEOUT, &sender);
if(res == TRUE)
{
RLED = !RLED;//LED_ON;
#ifdef CC1110_CSMA_RX
Print_word(receiveBuffer,7,16,length-1);
UartSendWord(temp2,5);
UartSendWord((void*)di_yz,sizeof(di_yz));
#endif
}
else
{
}
RLED = LED_OFF;
}
halWait(5);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -