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

📄 rf.c

📁 ti-Chipcon CC2430 zigbee Soc应用开发源码实例。包括rf,powermodes,clockmodes底层驱动源码。有了这些实例,包括误码率测试等。对你更好的理解和应用这颗芯片
💻 C
字号:
#include "hal.h"
#include "cul.h"
#include "lcd.h"

#define ADDRESS_0                     0x01
#define ADDRESS_1                     0x02

#define SEND                          0
#define RECEIVE                       1

#define RECEIVE_TIMEOUT               1200

uint8  RxTxState;

void initRf(void);
void SendMode(void);
void ReceiveMode(void);
void initUART(void);

void main(void)
{
   INIT_GLED();
   INIT_YLED();
   initLcd();
   initRf();

   INT_GLOBAL_ENABLE(INT_ON);  // Turning on interrupts

   while(1)
   {
      if(RxTxState == RECEIVE)
      {
         ReceiveMode();
      }
      else
      {
         SendMode();
      }
      STOP_RADIO();
      CLR_GLED();
      CLR_YLED();
   }

}

void initRf(void)
{
   SET_MAIN_CLOCK_SOURCE(CRYSTAL);
   RxTxState =  SEND;
   radioInit(2405000, ADDRESS_0);
}
void SendMode(void)
{
   byte sendBuffer[] = {0x01, 0x02, 0x03, 0x04, 0x05};
   bool res;

   res = radioSend(sendBuffer, sizeof(sendBuffer), ADDRESS_0, DO_ACK);

  if(res == TRUE)
   {
   	lcdUpdateLine(LINE1, (char *)"OK!");
   }
   else
   {
     	lcdUpdateLine(LINE1, (char *)"Failed...");
   }
  	waitVisible(CLEARLY_VISIBLE);
}
void ReceiveMode(void)
{
  	byte *receiveBuffer;
  	byte length;
  	byte res;
  	byte sender;

  	while(1)
  	{
    	res = radioReceive(&receiveBuffer, &length, RECEIVE_TIMEOUT, &sender);
		if(res == TRUE)
    	{
         lcdUpdateLine(LINE1,(char *)receiveBuffer);
      }
    	
    	else
    	{
      	lcdUpdate((char *)"Waiting",(char *)"");
    	}
  }
}

⌨️ 快捷键说明

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