ZigBee网络的建立
协调器启动后,其他普通节点加入网络时,只要将自己的信道设置成与现有的协调器使用的信道相同,并提供正确的认证信息,即可请求加入(Join)网络。一个节点加入网络后,可以从其父节点得到自己的短MAC地址,ZigBee网络地址以及协调器规定的拓扑参数。同理,一个节点要离开(Leave)网络,只须向其父节点提出请求即可。一个节点若成功地接收一个儿子,或者其儿子成功脱离网络,都必须向协调器汇报。因此,协调器可以即时掌握网络的所有节点信息,维护网络信息库(PIB,PAN Information Base)。
ZigBee系统初始化流程
Osal_int_disable(INTS_ALL):关闭所有中断
HAL_BOARD_INIT():初始化系统时钟
Zmain_vdd_check():检测芯片电压是否正常
Zmain_ram_init();初始化堆栈
InitBoard(OB_COLD):初始化LED,配置系统定时器
HalDriverInit():初始化芯片各个硬件模块
Osal_nv_init():初始化FLASH存储
Zmain_ext_addr();形成节点MAC地址
zgInit():初始化一些非易失变量
zmacInit():初始化mac层
Afinit():初始化应用框架层
Osal_init_system():初始化操作系统
Osal_int_enabled(inis_all):使能全部中断
Initboard(ob_ready):初始化按键
Zmain_dev_info():在
HAL_BOARD_INIT():初始化系统时钟
Zmain_vdd_check():检测芯片电压是否正常
Zmain_ram_init();初始化堆栈
InitBoard(OB_COLD):初始化LED,配置系统定时器
HalDriverInit():初始化芯片各个硬件模块
Osal_nv_init():初始化FLASH存储
Zmain_ext_addr();形成节点MAC地址
zgInit():初始化一些非易失变量
zmacInit():初始化mac层
Afinit():初始化应用框架层
Osal_init_system():初始化操作系统
Osal_int_enabled(inis_all):使能全部中断
Initboard(ob_ready):初始化按键
Zmain_dev_info():在