




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南维修基金管理制度
- 企业门卫值班管理制度
- 产品封存仓储管理制度
- 细胞与基因治疗管理制度
- 中学党员义工管理制度
- 中介店面日常管理制度
- 中国石化油库管理制度
- 会议保障人员管理制度
- 仓库物流追溯管理制度
- 仓储企业薪酬管理制度
- 2024年经济师考试人力资源管理(中级)专业知识和实务试题及解答参考
- 2024中考考务工作培训
- GB/T 44466-2024牙科学医师椅
- 预防接种知识讲座内容
- 台州市黄岩区2023年八年级《数学》下学期期末试题与参考答案
- 广西版五年级下册美术全册教案【完整版】
- 湖北省襄阳市2024-2025学年高三上学期9月月考+英语试卷(含答案)
- 2023年版成人机械通气患者俯卧位护理解读
- 2025年全年日历含农历(1月-12月)
- 2024年安徽省高考物理试卷(真题+答案)
- 2024年江苏省宿迁市中考地理试题(含答案)
评论
0/150
提交评论