- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ZigBee学习之10—MAC层API解读
MAC层API解读
MAC API[802.15.4 MAC API _F8W-2005-1503_.pdf]
常量和结构体
typedef uint8 sAddrExt_t[8];
typedef struct
{
union
{
uint16 shortAddr;
sAddrExt_t extAddr;
} addr;
uint8 addrMode;
} sAddr_t;
shortAddr - 16位MAC 短地址
extAddr - 64位MAC 扩展地址
addrMode - 地址模式
SADDR_MODE_NONE - 地址不存在
SADDR_MODE_SHORT - 使用16位短地址
SADDR_MODE_EXT - 使用64位扩展地址
状态值
标准状态值
MAC_SUCCESS 操作成功
MAC_BEACON_LOSS 同步请求中丢失信标
MAC_CHANNEL_ACCESS_FAILURE 由于通道活跃,数据请求失败
MAC_COUNTER_ERROR 接收到的帧的发送源的帧计数器不可用
MAC_DENIED MAC不能进入低功耗模式
MAC_FRAME_TOO_LONG 接收到的帧或者操作产生的帧或数据请求太长
MAC_IMPROPER_KEY_TYPE 接收到的帧的发送源的KEY不可用
MAC_IMPROPER_SECURITY_LEVEL 接收到的帧的发送源安全等级和最低等级不匹配
MAC_INVALID_ADDRESS 由于没有源地址或目的地址,数据请求失败
MAC_INVALID_HANDLE 清除请求包含不可用的处理
MAC_INVALID_PARAMETER API函数参数超出范围
MAC_LIMIT_REACHED 由于PAN描述储存达到界限,扫描中止
MAC_NO_ACK 由于没有收到应答,操作或数据请求失败
MAC_NO_BEACON 由于没有收到信标,扫描请求失败
MAC_NO_DATA 由于没有收到关联应答,关联请求失败
MAC_NO_SHORT_ADDRESS 开始请求的短地址错误
MAC_PAN_ID_CONFLICT 检测到一个PAN ID冲突
MAC_READ_ONLY 拥有只读标记的请求
MAC_REALIGNMENT 接收到协调器重排列
MAC_SCAN_IN_PROGRESS 扫描正在进行,新的扫描请求失败
MAC_SECURITY_ERROR 接收到的安全帧密码处理失败
MAC_SUPERFRAME_OVERLAP 信标开始时间超出协调器传输时间
MAC_TRACKING_OFF 没有找到其协调器的信标,开始请求失败
MAC_TRANSACTION_EXPIRED 关联应答,解关联请求,间接数据传输失败
MAC_TRANSACTION_OVERFLOW 数据缓存溢出,操作失败
MAC_UNAVAILABLE_KEY 安全密钥不可用
MAC_UNSUPPORTED_ATTRIBUTE 由于不支持的特性指令或请求失败
MAC_UNSUPPORTED_LEGACY 不支持的安全方式
MAC_UNSUPPORTED_SECURITY 接收到的帧的安全方式不支持
私有状态值
MAC_UNSUPPORTED 当前配置不支持的操作
MAC_BAD_STATE 当前状态不支持的操作
MAC_NO_RESOURCES 内存资源不足
MAC时间值
aBaseSuperframeDuration 构成超帧的符号周期 960 15.36ms(2.4G)
aUnitBackoffPeriod 构成CSMA-CA算法的时间周期的符号周期 20 320us(2.4G)
初始化接口
初始化接口函数都是直接执行函数
void MAC_Init(void)
初始化MAC子系统
void MAC_InitDevice(void)
初始化MAC关联到一个非信标网络,使用此函数初始化一个RFD设备,如果使用此函数,要在调用其它数据和管理API之前调用
void MAC_InitCoord(void)
初始化MAC能进行协调器的操作。此函
文档评论(0)