微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > zigbee的main函数结构问题

zigbee的main函数结构问题

时间:10-02 整理:3721RD 点击:
请问各位大神,下列代码为什么要先关闭中断,最后又要开启中断,急求,初学zigbee,望解释稍微详细些,非常感谢!
int main( void )
{ osal_int_disable( INTS_ALL ); //关闭所有中断
HAL_BOARD_INIT(); //初始化系统时钟
zmain_vdd_check(); //检查芯片电压是否正常
InitBoard( OB_COLD ); //初始化 I/O ,LED 、Timer 等
HalDriverInit(); //初始化芯片各硬件模块
osal_nv_init( NULL ); //初始化 Flash 存储器
ZMacInit(); //初始化 MAC 层
zmain_ext_addr(); //确定 IEEE 64 位地址
zgInit(); //初始化非易失变量
#ifndef NONWK // Since the AF isn't a task, call it's initialization routine
afInit();
#endif osal_init_system(); //初始化操作系统
osal_int_enable( INTS_ALL ); //使能全部中断
InitBoard( OB_READY ); //最终板载初始化
zmain_dev_info(); //显示设备信息
#ifdef LCD_SUPPORTED
zmain_lcd_init(); //初始化 LCD
#endif
#ifdef WDT_IN_PM1 /* If WDT is used, this is a good place to enable it. */ WatchDogEnable( WDTIMX );
#endif osal_start_system();// No Return from here 执行操作系统,进去后不会返回
return 0; // Shouldn't get here.
} // main()

进行系统配置的时候
控制器还没有做好处理外部数据的准备
这个时候开中断,能干吗呢?
除了影响正常的配置,没啥作用了
还是关着吧

同意楼上的说法,在上电初始化的过程中基本都是对各个功能和外设的配置,使能中断没有什么意义,等配置完成了,要进入正常的工作状态时,就得打开中断

额,今天我们老师讲了一下,这个主要是为了各项初始化能够顺利进行,避免初始化过程收到干扰

上一篇:锁相环频合失锁
下一篇:绑定问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top