1初始化板
2定义无线并初始化
3接收数据发送数据
#include "hal_defs.h"
#include "hal_cc8051.h"
#include "hal_int.h"
#include "hal_mcu.h"
#include "hal_board.h"
#include "hal_led.h"
#include "hal_rf.h"
#include "basic_rf.h"
#include "hal_uart.h"
#include <stdio.h>
#include <string.h>
#include <stdarg.h>#define MAX_RECV_BUF_LEN 128 //定义无线缓冲区的大小
static uint8 pRxData[MAX_RECV_BUF_LEN]; //定义无线缓冲区的大小#define MAX_UART_RECV_BUF_LEN 128
uint8 uRxData[MAX_UART_RECV_BUF_LEN]; //定义串口缓冲区的大小/*****点对点通讯地址设置******/
#define RF_CHANNEL 20 // 频道 11~26
#define PAN_ID 0x1379 //网络id
#define MY_ADDR 0x1234 // 本机模块地址 1号模块
#define SEND_ADDR 0x5678 //发送地址 1号模块//#define MY_ADDR 0x5678 // 本机模块地址 2号模块
//#define SEND_ADDR 0x1234 //发送地址 2号模块static basicRfCfg_t basicRfConfig;//无线初始化的枚举
/**************************************************/
// 无线RF初始化
void ConfigRf_Init(void)
{basicRfConfig.panId = PAN_ID; //zigbee的ID号设置basicRfConfig.channel = RF_CHANNEL; //zigbee的频道设置basicRfConfig.myAddr = MY_ADDR; //设置本机地址basicRfConfig.ackRequest = TRUE; //应答信号while(basicRfInit(&basicRfConfig) == FAILED); //检测zigbee的参数是否配置成功basicRfReceiveOn(); // 打开RF
}/********************MAIN************************/
void main(void)
{uint8 len = 0;halBoardInit(); //模块相关资源的初始化ConfigRf_Init(); //无线收发参数的配置初始化 halLedSet(3);halLedSet(4);while(1){ len = halUartRxLen(); // 接收串口数据 的长度 if(len > 0){ halLedToggle(3); // 绿灯取反,无线发送指示halUartRead(uRxData,sizeof(uRxData));//收串口数据halMcuWaitMs(30);basicRfSendPacket(SEND_ADDR,uRxData,len);//发rfhalMcuWaitMs(30);} if(basicRfPacketIsReady()) //查询有没收到无线信号{halLedToggle(4); // 红灯取反,无线接收指示//接收无线数据len = basicRfReceive(pRxData, MAX_RECV_BUF_LEN, NULL);//接收到的无线发送到串口数halUartWrite(pRxData,len);} }
}
/************************main end *********************************************/