




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#1楼主:【原创】ZigBee学习之31osal_init_system文章发表于:2010-02-12 17:30 /初始化操作系统,主要是堆栈,时钟,电源模式,任务号分配 osal_init_system();/通过创建定义在任务表【OSAL_Tasks.h】中的任务来初始化任务系统【OSAL.c】byte osal_init_system( void ) /初始化内存分配系统【OSAL_Memory.c】 osal_mem_init(); /初始化消息队列,其实就是一个指针 osal_qHead = NULL;/ osal_msg_q_t osal_qHead;/ typedef void * osal_msg_q_t; #if defined( OSAL_TOTAL_MEM )/如果定义了OSAL_TOTAL_MEM就会跟踪系统的堆栈使用情况并通过LCD显示出来 osal_msg_cnt = 0;#endif /初始化系统定时器【OSAL_Timers.c】 osalTimerInit();void osalTimerInit( void ) / Initialize the rollover modulo tmr_count = TICK_TIME;/【OnBoard.h】/ #define TICK_TIME 1000 /每次时钟滴答的时间(毫秒) tmr_decr_time = TIMER_DECR_TIME;/ #define TIMER_DECR_TIME 1 osal_timer_activate( false ); /初始化系统定时器,实际上是停止了时钟定时器【OSAL_Timers.c】void osal_timer_activate( byte turn_on ) osal_timer_hw_setup( turn_on ); /设置时钟硬件【OSAL_Timers.c】void osal_timer_hw_setup( byte turn_on ) if (turn_on) HalTimerStart (OSAL_TIMER, tmr_count );/启动时钟 else HalTimerStop (OSAL_TIMER); timerActive = turn_on; timerActive = false; osal_systemClock = 0; /初始化电源管理系统 osal_pwrmgr_init();/配置器件使用的电源模式【OSAL_PwrMgr.c】void osal_pwrmgr_init( void ) pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON; / 默认不打开节能模式/【OSAL_PwrMgr.h】/ #define PWRMGR_ALWAYS_ON 0 /不使用节能模式/#define PWRMGR_BATTERY 1 /使用电池供电,允许进入休眠模式/ pwrmgr_attribute_t pwrmgr_attribute;typedef struct uint16 pwrmgr_task_state; uint16 pwrmgr_next_timeout; uint16 accumulated_sleep_time; uint8 pwrmgr_device; pwrmgr_attribute_t; pwrmgr_attribute.pwrmgr_task_state = 0; / Cleared. All set to conserve /初始化系统任务,为每个任务调用初始化函数 osalInitTasks();/【sapi.c】void osalInitTasks( void ) uint8 taskID = 0; tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt); osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt);/ uint16 *tasksEvents;/ const uint8 tasksCnt = sizeof( tasksArr ) / sizeof( tasksArr0 );/任务队列中其实是一个个的事件处理函数,这里分配了任务要用的内存空间。然后为每个任务分配一个不同的任务ID,ID递增,按照初始化的顺序排列在tasksArr队列中 macTaskInit( taskID+ ); nwk_init( taskID+ ); Hal_Init( taskID+ );#if defined( MT_TASK ) MT_TaskInit( taskID+ );#endif APS_Init( taskID+ ); ZDApp_Init( taskID+ ); SAPI_Init( task
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国银行本溪市桓仁满族自治县2025秋招笔试会计学专练及答案
- 中国银行兰州市红古区2025秋招笔试英语阅读理解题专练30题及答案
- 2025年贵州省凯里市辅警(协警)招聘考试题库及答案
- 2025年达州高新区公开选聘中小学校副校长补充笔试备考试题及答案
- 邮储银行玉树藏族自治州治多县2025秋招笔试英语完形填空题专练30题及答案
- 邮储银行那曲市申扎县2025秋招笔试英语完形填空题专练30题及答案
- 中国银行赣州市大余县2025秋招笔试管理营销专练及答案
- 中国银行滨州市邹平市2025秋招笔试计算机基础专练及答案
- 邮储银行齐齐哈尔市克山县2025秋招笔试银行特色知识专练及答案
- 2025年大学警务指挥与战术专业题库- 警务指挥与战术专业国际交流
- JJF 1338-2012相控阵超声探伤仪校准规范
- GB/T 40529-2021船舶与海洋技术起货绞车
- GB 31603-2015食品安全国家标准食品接触材料及制品生产通用卫生规范
- 关于公布2016年度中国电力优质工程奖评审结果的通知
- 港口集团绩效考核方案
- 固体化学固体中的扩散
- 送达地址确认书(诉讼类范本)
- 经典企业商业融资计划书模板
- 2023版北京协和医院重症医学科诊疗常规
- 三坐标测量基础知识(基础教育)
- 宜家战略分析(课堂PPT)
评论
0/150
提交评论