?? rf_test.c
字號:
/******************************************************************************
* *
* **** ****** ****
* **** ******** ****
* **** **** **** ****
* **** **** **** **** wxl
* ******* *******
* ***** ***** 成都無線龍通訊科技有限公司
* *
*******************************************************************************
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 CC1110_FDMA_RX
#include "mydefine.h"
#endif
/******************************************************************************/
#define ADDRESS_0 0x01
#define ADDRESS_1 0x02
#define ADDRESS_2 0x03
#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 Single_More_FDMA(char sell)
{
if(sell == 0)
{
#ifdef CC1110_FDMA_TX1
radioInit(frequency, myAddr,0);
myAddr = ADDRESS_1;
remoteAddr = ADDRESS_2;
#endif
#ifdef CC1110_FDMA_TX2
radioInit(frequency, myAddr,1);
myAddr = ADDRESS_1;
remoteAddr = ADDRESS_2;
#endif
INT_GLOBAL_ENABLE(INT_ON);
contionuousMode();
}
else if(sell == 1)
{
myAddr = ADDRESS_2;
remoteAddr = ADDRESS_1;
halWait(10);
INT_GLOBAL_ENABLE(INT_ON);
radioInit(frequency, myAddr,1);
halWait(10);
receiveMode();
}
}
/******************************************************************************
* @fn contionuousMode
*
* @brief
* Function for transferring packets until stopped by user.
*
* Parameters:
*
* @param void
*
* @return void
*
******************************************************************************/
extern INT8U ScanKey(void);
int delay(void)
{
halWait(200);
return 0;
}
extern void UartTX_Send_String(char *Data,int len);
void contionuousMode(void)
{
UINT32 count_send;
BOOL res;
int state = 0;
int flag;
BYTE sendBuffer1[4];
sendBuffer1[0] = 0x40;
sendBuffer1[1] = 0x02;
#ifdef CC1110_FDMA_TX2
sendBuffer1[2] = 0x02;
#endif
#ifdef CC1110_FDMA_TX1
sendBuffer1[2] = 0x01;
#endif
sendBuffer1[3] = 0x0D;
P1DIR |= 0x02;
P1INP |= ~0xF3;
P1DIR &= 0xF3;
while(1){
flag = 0;
state = 0;
if(P1_2 == 0)
{
while((P1_2 == 0));
RLED = LED_OFF;
#ifdef CC1110_FDMA_TX2
sendBuffer1[2] = 0x02;
#endif
#ifdef CC1110_FDMA_TX
sendBuffer1[2] = 0x01;
#endif
state = 1;
count_send = 4;
}
if(state == 1)
{
while(count_send--)
{
res = radioSend(sendBuffer1, sizeof(sendBuffer1), remoteAddr, DO_ACK);
if(res)
{
break;
}
YLED = !YLED;
}
}
state = 0;
if(flag == 0)
{
RLED = LED_ON;
}
}
}
/******************************************************************************
* @fn receiveMode
*
* @brief
* Function for receiving data.
*
* Parameters:
*
* @param void
*
* @return void
*
******************************************************************************/
unsigned char number1 = 0,number2 = 0,number[4];
void receiveMode(void)
{
BYTE* receiveBuffer;
BYTE length;
BYTE res;
UINT32 count_Receice;
int i=0;
BYTE sender;
#ifdef CC1110_FDMA_RX
unsigned char temp2[5] = {0x68,0xaa,'U','Y','J'};
#endif
while( !stopApplication() )
{
count_Receice = 2;
while(count_Receice--)
{
res = radioReceive(&receiveBuffer, &length, 10, &sender);
if(res == TRUE)
break;
}
if(i>=1)
{
myAddr = ADDRESS_2;
remoteAddr = ADDRESS_1;
i = 0;
}
else
{
myAddr = ADDRESS_2;
remoteAddr = ADDRESS_0;
i++;
}
radioInit(frequency, myAddr,i);
if(res == TRUE)
{
RLED = !RLED;
if(i == 0)
{
number1++;
number[0] = number1/10/10/10+48;
number[1] = number1/10/10%10+48;
number[2] = number1/10%10+48;
number[3] = number1%10+48;
#ifdef CC1110_FDMA_RX
Print_word(number,7,79,length);
UartSendWord(temp2,5);
UartSendWord((void*)di_yz,sizeof(di_yz));
#endif
}
else
{
number2++;
number[0] = number2/10/10/10+48;
number[1] = number2/10/10%10+48;
number[2] = number2/10%10+48;
number[3] = number2%10+48;
#ifdef CC1110_FDMA_RX
Print_word(number,7,0,length);
UartSendWord(temp2,5);
UartSendWord((void*)di_yz,sizeof(di_yz));
#endif
}
}
else
{
RLED = LED_OFF;
}
RLED = LED_OFF;
}
halWait(5);
return;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -