网站大量收购独家精品文档,联系QQ:2885784924

ZigBee无线传感网技术与应用 课件 项目六任务一 基于OSAL系统下温度监控.pptx

ZigBee无线传感网技术与应用 课件 项目六任务一 基于OSAL系统下温度监控.pptx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Zigbee无线传感网技术与应用

智能家居传感网06

01了解ZigbeeOSAL运行原理03掌握Zigbee网络串口编程方法04了解Zigbee无线传感网传输方式02了解Zigbee协议栈原理学习目标Learningobjectives

任务一:基于OSAL系统下温度监控

任务要求要求读者了解在单片机操作系统OSAL,使用OSAL系统改写项目四获取温湿度传感器代码,并将获取到的数据发送给电脑显示。

任务目标Missionobjectives01了解什么是操作系统03掌握使用OSAL系统基本使用方法02了解OSAL基本概念

储备知识什么是操作系统,即把传统单片机编程的单任务系统变为多任务系统,操作系统使单片机更有效地完成更加复杂的任务。但这就需要牺牲单片机更大的存储空间用于系统程序和用户程序。早期没有操作系统的单片机也出现了一些多任务的底层COS,单实际上还是要和底层打交道,当更加复杂昂贵的单片机出现后就有条件使应用开发完全与底层及其版本无关,这就是借助操作系统。1.单片机也有操作系统图:单任务与多任务

储备知识2.OSAL是何方神圣OSAL为OperatingSystemAbstractionLayer,OSAL为操作系统抽象层,支持多任务运行,但是它并不是一个传统意义上的操作系统,但又实现了部分类似操作系统的功能。OSAL概念是由TI公司在Zigbee协议栈引入,他的意思是“模拟操作系统”,OSAL并非一个真正的OS,而是模拟OS的一些方法为广大编程者提供一种写MCU程序的方法.当有一个事件发生的时候,OSAL负责将此事件分配给能够处理此事件的任务,然后此任务判断事件的类型,调用相应的事件处理程序进行处理。现有的嵌入式操作系统可以分为两类,即通用的多任务操作系统(General—purposeMulti-taskingOS)和事件驱动的操作系统(Event-drivenOS)。前者能够很好地支持多任务或者多线程,但是会随着内部任务切换频率的增加而产生很大的开销。OSAL概述

储备知识2.OSAL是何方神圣后者支持数据流的高效并发,并且考虑了系统的低功耗要求,在功耗、运行开销等方面具有优势。典型的代表如TinyOSl291。目前TinyOS操作系统支持的平台有ATMEL公司的AVR系列、TI公司的MSP430系列。由于TinyOS操作系统还没有对Chipcon公司(才知道TI把它收购了)提供CC2430开发平台提供支持,因此,要在CC2430开发平台上使用TinyOS系统来开发Zigbee协议栈软件,就必须首先对TinyOS进行移植。OSAL主要提供了:任务注册、任务间同步互斥、中断处理、存储器分配和管理、提供定时器功能。图:OSAL工作框图

储备知识2.OSAL是何方神圣OSAL软件功能是由任务事件来实现的,其创建流程如下所示:任务初始化osalInitTasks();在注册事件数组写入事件处理函数tasksArr[];事件函数处理事件Event();OSAL事件事件是驱动任务去执行某些操作的条件,当系统产生了一个事件,将这个触发传递给相应的任务后,任务才能执行一个相应的操作。OSAL通过一个16位宽度的数组来管理事件,意味着OSAL最多可以支持16个事件,其中最高位(0x08000,SYS_EVENT_MSG)系统保留,用户可以使用的事件有15个。

储备知识2.OSAL是何方神圣事件使用流程如下:需要找个地方定义事件的ID,实际上是指定该事件占用事件数组的哪个位。如#defineMY_EVENT0x02,占用bit1。在需要触发事件的地方调用osal_set_event(task_id,event_flag),这个函数有两个参数,一个是接收事件任务的ID,另一个参数指定事件ID。在相应任务的处理函数,检查该事件执行相应代码即可。清除事件标识。

3.OSAL简单使用本任务所需硬件:下载器、1块ZigBee开发板、温湿度传感器、5V电源适配器、USB下载线。环境准备任务实施

任务实施3.OSAL简单使用图:打开工程文件与工程目录代码小贴士:TI公司为的Z-Stack工程文件已编好绝大部分代码,我们仅仅需要在其基础上作出基本的修改即可使用。

任务实施步骤2:打开工程后,暂时不必立刻开始编写代码,先尝试编译原有工程点击“RebuildAll”按钮,是否可以被正常编译,如图所示。(Z-Stack工程文件比较大,编译过程有比较久,需要耐心等待编译成功)。3.OSAL简单使用图:编译成功

任务实施步骤3:屏蔽Coordinator.c与Coordinator.h文件,使用OSAL系统暂时不需要该文件。3.OSAL简单使用图:屏蔽文件

任务实

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档