ZigBee学习之6—无线电2..doc
文本预览下载声明
#1楼主:【原创】ZigBee学习之6——无线电2
文章发表于:2010-02-05 11:17
今天把TI的例子程序里的基本RF看了下,有的地方还没有完全看懂,发上来和大家分享一下
/***********************************************************************************
Filename: basic_rf.c
Description: Basic RF library
***********************************************************************************/
/***********************************************************************************
* INCLUDES
*/
//hal_int.h包含了控制中断的宏
#include hal_int.h
// Using halMcuWaitUs(),hal_mcu.h中是一些延时函数
#include hal_mcu.h
//通道编程的宏,以及硬件RF初始化,SECURITY_CCM宏是用来控制安全MAC的
#include hal_rf.h
#ifdef SECURITY_CCM
#include hal_rf_security.h
#endif
//basic_rf.h中定义了RF配置用的数据结构
#include basic_rf.h
#ifdef SECURITY_CCM
#include basic_rf_security.h
#endif
#include util.h // Using min()
#include string.h
/***********************************************************************************
* CONSTANTS AND DEFINES
*/
// Packet and packet part lengths
#define PKT_LEN_MIC 8
#define PKT_LEN_SEC PKT_LEN_UNSEC + PKT_LEN_MIC
#define PKT_LEN_AUTH 8
#define PKT_LEN_ENCR 24
// Packet overhead ((frame control field, sequence number, PAN ID,
// destination and source) + (footer))
// Note that the length byte itself is not included included in the packet length
//MPDU的长度宏,(2字节幀控制域 + 1字节数据序列号 + 2字节PAN ID + 2字节目标地址 + 2字节源地址 + 2字节MAC尾)
#define BASIC_RF_PACKET_OVERHEAD_SIZE ((2 + 1 + 2 + 2 + 2) + (2))
//MPDU最大有效载荷的长度(利用FIFO只有128字节空间),BASIC_RF_AUX_HDR_LENGTH 和 BASIC_RF_LEN_MIC是辅助安全头宏定义的长度分别是5和8,可以将其设置为0,即不具备安全功能
#define BASIC_RF_MAX_PAYLOAD_SIZE (127 - BASIC_RF_PACKET_OVERHEAD_SIZE -
BASIC_RF_AUX_HDR_LENGTH - BASIC_RF_LEN_MIC)
//应答帧的长度宏(2字节帧首界定符 + 1字节数据序列号 + 2字节帧校验序列),不包括帧长度域
#define BASIC_RF_ACK_PACKET_SIZE 5
//MAC帧尾的长度宏
#define BASIC
显示全部