Z-Stack协议分析(一)——main函数解析:
1)Z-stack的简单介绍:
Z-stack是一个协议栈,是由美国TI公司德州仪器公司设计的,Z-Stack协议可在官网下载,我用的还是老版本,ZStack-CC2530-2.3.0-1.4.0。
2)下面是对ZMain.c函数的介绍:
主函数的作用:
在主函数中,对硬件设备,MAC层,网络层做出相应的初始化,初始化完成之后运行OSAL操作系统。
int main( void )
{
// 关闭所有的中断
osal_int_disable( INTS_ALL );
// 初始化硬件设备
HAL_BOARD_INIT();
// 电源监测
zmain_vdd_check();
// 初始化I/O
InitBoard( OB_COLD );
// 初始化硬件抽象层HAL驱动
HalDriverInit();
// 初始化NV
osal_nv_init( NULL );
// 初始化MAC
ZMacInit();
// 确定64位IEEE地址
zmain_ext_addr();
// 初始化NV向量
zgInit();
#ifndef NONWK
// AF层初始化
afInit();
#endif
// 初始化任务
osal_init_system();
// 开启中断
osal_int_enable( INTS_ALL );
// 硬件IO初始化完毕
InitBoard( OB_READY );
显示器件的信息,需要LCD的支持,主要使显示了器件的IEEE地址
zmain_dev_info();
/* 如果定义了LCD,初始化LCD */
#ifdef LCD_SUPPORTED
zmain_lcd_init();
#endif
#ifdef WDT_IN_PM1
/* 使能,如果使用了看门狗 */
WatchDogEnable( WDTIMX );
#endif
osal_start_system(); // 运行操作系统。
return 0;
}