zigbee之主函数main()

首先打开在工程zmain文件夹下的zmain.c文件,如图所示:

zigbee之主函数main()

下面把主函数复制过来简单看下:

ZSEG int main( void )
{
  // Turn off interrupts------------关闭中断
  osal_int_disable( INTS_ALL );
  // Initialize HAL-----------初始化HAL,关于HAL是什么我想后面会有介绍的。
  HAL_BOARD_INIT();
  // Make sure supply voltage is high enough to run----电压检测,最好是能保证芯片能正常工作的电压
  zmain_vdd_check();
  // Initialize stack memory-------------初始化stack存储区
  zmain_ram_init();
  // Initialize board I/O------------初始化板载IO
  InitBoard( OB_COLD );
  // Initialze HAL drivers-------------初始化HAL驱动
  HalDriverInit();
  // Initialize NV System--------------初始化NV系统,NV是什么后面我想也会有介绍的
  osal_nv_init( NULL );
  // Determine the extended address------------确定扩展地址(64位IEEE/物理地址)
  zmain_ext_addr();
  // Initialize basic NV items----------------初始化基本NV条目
  zgInit();
  // Initialize the MAC----------------初始化MAC
  ZMacInit();
#ifndef NONWK
  // Since the AF isn't a task, call it's initialization routine
  afInit();
#endif
  // Initialize the operating system----------初始化操作系统,看样子这里面还有OS,麻烦了……..!
  osal_init_system();

  // Allow interrupts-------------允许中断
  osal_int_enable( INTS_ALL );
  // Final board initialization------------------最后的版在初始化
  InitBoard( OB_READY );
  // Display information about this device---------------显示设备信息
  zmain_dev_info();
  /* Display the device info on the LCD */------------液晶支持显示
#ifdef LCD_SUPPORTED
  zmain_lcd_init();
#endif
  osal_start_system(); // No Return from here-------------------这里没有返回,大概是进入OS了。
} // main()

结合以上的分析我们可以看到基本上都是初始化函数,因为函数名称都基本上带了init字样的,这样一看名称就知道大概功能了。

今天就到着了,还有下文我将尽快写出。

  

你可能感兴趣的:(main)