选择时钟信号源为smclk设置波特率为57600打开usaRt1的发送和接收使能并打开接收中断。
3halgetchvoid从接收缓存中读取数据。
4halgetchRdyvoid根据头指针和尾指针的位置判断是否接收到数据。
5halputchcharc等待发送缓存可用时向其中写入一个字节的数据进行发送。
6hali
itmactimervoid初始化计时器。
f7halgetprocessorieeeaddressbytebuf获取节点的64位ieee长地址存在buf指向的数组内。
8halwaitmsui
t32msecs等待毫秒级的一段时间。
9halsleepui
t32msecs在看门狗溢出时间内处于lpm1低功耗模式。
10uart1_i
trvoiduaRt1中断处理函数从接收缓存RxbuF1中读取接收到的数据。
11watchdog_timervoid看门狗中断处理函数从lpm1低功耗休眠模式中退出。
在物理层phy中实现的主要是初始化函数和物理层有限状态机phyFsm。物理层的初始化函数phyi
itvoid对存储区域进行了初始化将堆栈清空并指示物理层有限状态机进入空闲状态。
物理层有限状态机设计如图310所示。
图310物理层有限状态机phyFsm
物理层有限状态机接收上层指令做初始化射频模块RF和向RF发送数据包的工作。数据包发送给RF模块后需要等待RF模块返回的消息以确认数据被正确地发出如果超时将在RF模块空闲时再次重发。
物理层的数据帧格式1如图311所示。首先是四个字节的前导序列符preamble用于收发器从中提取时钟信
f号完成片同步和符号同步然后是帧定界符sFd其值固定为0xa7标识一个物理帧的开始保证收发器与字节的同步接着是负载长度域由一个字节的低七位表示因此物理帧的负载长度不能超过127个字节最后是物理服务数据单元psduphyservicedatau
it也就是
物理层向RF发出的数据会由cc2420自动加上相应的同步头故在程序中不再考虑帧头的计算与添加。
344媒体接入控制层mac
mac层使用物理层提供的服务实现设备间的数据帧传输负责设备间无线数据链路的建立、维护和终结其提供的数据服务保证mac协议数据单元pduprotocoldatau
it
在物理层的数据服务中能够正确收发。
mac层的主要有以下几个方面的功能38
1协调器产生并发送信标帧普通设备根据信标帧
与进行协调器同步
2支持无线信道通信安全机制
3提供csmaca信道访问机制
4提供时隙保障gtsguara
teedtimeslot机制
5提供不同设备mac层间的可靠传输。
在mac层中设备有两种地址格式16位的短地址shortaddress和64位的扩展地址exte
dedaddress。16位短地址是设备加入pa
网络时由协调器为其分配的网
f内局部地址随着网络拓扑和设备在pa
网络中所处层次的不同会有所变化。64位扩展地址是由ieee分配的全球唯一地址在设备制造时即已确定且不可改r