Zigbee学习(二)之Zstack协议栈运行原理分析

本文深入分析Zigbee ZStack协议栈的运行机制,从main函数开始,详细解读各初始化步骤,包括OSAL的启动、任务事件处理循环以及任务事件数组和事件处理函数的作用。通过对osal_start_system()函数的解析,揭示了协议栈如何处理和响应不同任务的事件,帮助理解Zigbee协议栈的工作流程。
摘要由CSDN通过智能技术生成

Zigbee协议栈的实现方式采用的是分层的思想,分别有物理层、数据链路层(介质访问控制层)、网络层和应用层。每一层都实现了不同的功能,但是每一层实现的功能对于其它层来说又是封闭的,如果要进行数据互通,需要调用一些API函数。这是一些浅显的基本概念,百度一下都可以知道的啦!那么整个协议栈是如何执行的呢?我们直接来看代码吧!打开Zmain.c文件,之前是一些宏定义,暂时先不用管,看到主函数:

int main( void )
{
  // Turn off interrupts
  osal_int_disable( INTS_ALL );

  // Initialization for board related stuff such as LEDs
  HAL_BOARD_INIT();

  // Make sure supply voltage is high enough to run
  zmain_vdd_check();

  // Initialize board I/O
  InitBoard( OB_COLD );

  // Initialze HAL drivers
  HalDriverInit();

  // Initialize NV System
  osal_nv_init( NULL );

  // Initialize the MAC
  ZMacInit();

  // Determine the extended address
  zmain_ext_addr();

#if defined ZCL_KEY_ESTABLISH
  // Initialize the Certicom certificate information.

  zmain_cert_init();
#endif

  //

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值