项目三了解无线传感器协议栈

合集下载

物联网中的无线传感器网络协议介绍

物联网中的无线传感器网络协议介绍

物联网中的无线传感器网络协议介绍随着物联网(Internet of Things,IoT)技术的迅速发展,无线传感器网络(Wireless Sensor Network,WSN)作为物联网中的核心组成部分,正在广泛应用于各个领域,如环境监测、智能家居、智能交通等。

无线传感器网络协议则是保障网络通信的基石,它定义了传感器节点之间的通信规则和协议栈,使得节点之间能够高效地传输数据、协同工作并实现物联网的目标。

本文将对物联网中常用的无线传感器网络协议进行介绍。

1. IEEE 802.15.4IEEE 802.15.4是一种低速、低功耗的无线传感器网络协议,是物联网中最基础的协议标准之一。

它定义了物理层和MAC层协议,提供了低复杂性、低功耗、低数据传输速率的网络通信能力。

IEEE 802.15.4协议适用于近距离的传感器节点通信,具有自组织网络的特性,能够实现多节点间的数据采集和通信。

2. ZigBeeZigBee是基于IEEE 802.15.4标准的一种高层次协议,它在物理层和MAC层之上添加了网络层、应用层和安全层等协议。

ZigBee协议具有低功耗、低数据传输速率、低成本和自组织网络等特性,适用于传感器节点数量庞大、网络层次结构复杂的应用场景。

ZigBee协议广泛应用于家庭自动化、智能电表和工业自动化等领域。

3. Z-WaveZ-Wave是一种用于物联网的无线通信协议,专注于家庭自动化领域。

它使用中心控制器架构,支持大量的设备和传感器,并提供了可靠的网络覆盖范围和低功耗的通信模式。

Z-Wave协议采用单向无线通信方式,通过建立一个稳定的网络网状拓扑结构,实现设备间的联动控制。

目前,Z-Wave协议已经成为家居自动化领域的主流无线通信协议。

4. LoRaWANLoRaWAN(Long Range Wide Area Network)是一种低功耗广域网(LPWAN)通信协议,适用于大范围、低速率的无线传感器网络。

深入解析无线传感器网络中的网络协议栈

深入解析无线传感器网络中的网络协议栈

深入解析无线传感器网络中的网络协议栈无线传感器网络(Wireless Sensor Network,WSN)是一种由大量分布在空间中的无线传感器节点组成的网络系统。

这些节点可以感知环境中的各种物理量,并将其通过无线通信传输给中心节点进行处理和分析。

在WSN中,网络协议栈起着至关重要的作用,它负责管理和协调节点之间的通信,保证数据的可靠传输和网络的高效运行。

一、物理层物理层是WSN网络协议栈的最底层,主要负责将数字信号转换为模拟信号并进行无线传输。

在物理层中,常用的调制技术有频移键控(FSK)、相移键控(PSK)和正交频分多址(OFDM)等。

此外,物理层还需要考虑能量消耗的问题,因为无线传感器节点通常由电池供电,能量是非常有限的资源。

二、链路层链路层位于网络协议栈的第二层,主要负责节点之间的数据帧传输。

在WSN 中,由于节点之间的通信距离较近,链路层通常采用低功耗的无线通信技术,如低功耗蓝牙(Bluetooth Low Energy,BLE)和Zigbee等。

链路层还需要解决无线信道的共享和冲突问题,以保证数据的可靠传输。

三、网络层网络层是WSN网络协议栈的第三层,主要负责节点之间的寻址和路由。

在WSN中,网络层需要解决节点拓扑结构的建立和维护问题,以及数据包的转发和路由选择问题。

为了降低能量消耗,网络层通常采用分层路由协议,将网络划分为多个层次,每个层次的节点负责转发和处理相应的数据。

四、传输层传输层位于网络协议栈的第四层,主要负责节点之间的可靠数据传输。

在WSN中,由于节点之间的通信距离较近,传输层通常采用无连接的传输协议,如用户数据报协议(User Datagram Protocol,UDP)。

传输层还需要解决数据包的分段和重组问题,以保证数据的完整性和可靠性。

五、应用层应用层是WSN网络协议栈的最顶层,主要负责节点之间的应用数据交互。

在WSN中,应用层需要根据具体的应用需求设计相应的协议和算法,以实现对环境中各种物理量的感知和监测。

无线传感器网络协议开发与实现

无线传感器网络协议开发与实现

无线传感器网络协议开发与实现一、前言无线传感器网络是由无线传感器节点组成的多跳网络,它有无线传感器网络协议(Wireless Sensor Network Protocol)管理。

目前,无线传感器网络协议已经成为了大学生及企业工程技术人员研究的热点。

本文将介绍在无线传感器网络中协议的开发与实现。

二、组成部分及作用1.网络层协议网络层协议主要是进行无线传感器网络的拓扑构建和数据转发。

2.物理层协议物理层协议主要是完成了无线传感器网络的节点与节点之间的无线信号传输。

3.应用层协议应用层协议主要是为无线传感器网络的节点提供更具具体的功能,例如传感器节点。

三、基本设计思想1.多通道机制由于在一个网络中会存在多个节点,如果采用单通道机制,将有不少的节点在同一时间段进行通信信道竞争,造成大量冲突而严重影响通信效果,为了避免这种情况的发生,需要采用多通道机制。

2.多路转发机制当每个节点能够多路转发达到的节点是固定的情况下,在多种应用场景中会导致一些问题,为了避免这种情况的发生,我们使用多路转发机制,将目标节点的转发路径调用其他节点的转发路径形成一定的虚拟路线。

3.低功率协议应用无线传感器节点是通过自带电池供电的,为了节省能源,需要采用低功率协议。

四、协议实现1.协议验证在开发一个协议的过程中,需要对其进行验证。

若发现有错误或漏洞,则进行修改。

一般来说,验证的过程需要建立一个测试平台,包括无线传感器节点、传感器模拟器等设备。

2.协议测试需要针对协议进行全面测试。

一般情况下,为保障测试结果的准确性和可靠性,需要针对协议的性能指标和功能性指标进行多种测试,例如网络拓扑结构、数据转发、能耗等。

3.协议部署经过验证和测试之后,需要将协议正式部署到无线传感器网络中,此时需要考虑设备及节点的部署位置和数量、交互模式等。

五、总结本文对无线传感器网络协议开发和实现进行了介绍。

在未来,无线传感器网络将会被广泛应用于农业、工业、环保等领域,为人们的生产和生活带来更多便利。

无线传感器网络中的协议栈设计与优化

无线传感器网络中的协议栈设计与优化

无线传感器网络中的协议栈设计与优化无线传感器网络(Wireless Sensor Network,WSN)是由大量分布在空间中的无线传感器节点组成的网络系统。

这些节点可以感知环境中的物理量,并将采集到的数据通过网络传输到基站或其他节点。

在WSN中,协议栈的设计与优化是关键问题之一,它直接影响着网络的性能和能耗。

一、协议栈的基本结构WSN的协议栈通常由物理层、数据链路层、网络层和应用层组成。

物理层负责将数据转化为无线信号进行传输,数据链路层处理数据的传输可靠性和错误检测,网络层负责路由和数据包转发,应用层处理数据的收集和处理。

协议栈的设计应该考虑到WSN的特点,如资源有限、节点分布广泛、通信距离短等。

因此,协议栈应该具备低能耗、高可靠性和易于部署等特点。

二、物理层的设计与优化物理层是协议栈的底层,它负责将数据转化为无线信号进行传输。

在物理层的设计与优化中,需要考虑以下几个方面:1. 调制方式的选择:对于WSN来说,调制方式的选择直接影响着信号的传输距离和能耗。

常见的调制方式有ASK、FSK和PSK等,不同的调制方式适用于不同的应用场景。

2. 功率控制:由于节点的能量有限,因此在传输过程中需要对功率进行控制,以降低能耗。

功率控制可以通过调整发送功率和接收灵敏度来实现。

3. 多径效应的抑制:在无线传输中,多径效应会导致信号的多个版本同时到达接收端,造成信号干扰和误码率的增加。

因此,需要采取合适的技术来抑制多径效应,如信号的等化和编码等。

三、数据链路层的设计与优化数据链路层负责处理数据的传输可靠性和错误检测。

在数据链路层的设计与优化中,需要考虑以下几个方面:1. 数据帧的设计:数据帧是数据链路层传输的基本单位,它包含了数据部分和控制部分。

数据帧的设计应该考虑到数据的大小和传输效率,同时还需要考虑到错误检测和纠错等机制。

2. 碰撞检测与避免:在WSN中,由于节点的密集部署和信道的共享,容易发生碰撞现象。

因此,需要采取合适的碰撞检测和避免机制,如CSMA/CA和TDMA等。

物联网中的无线传感器网络协议分析

物联网中的无线传感器网络协议分析

物联网中的无线传感器网络协议分析随着物联网技术的快速发展,无线传感器网络在物联网中的应用越来越广泛。

无线传感器网络协议作为实现传感器节点之间通信和数据交换的重要手段,对于实现高效、可靠的通信具有重要意义。

本文将分析物联网中常用的无线传感器网络协议,并探讨其特点和应用。

在物联网中,无线传感器网络协议扮演着关键的角色,它负责传感器节点之间的通信和数据传输。

无线传感器网络协议根据其设计目标和特点可以分为多种类型,包括网络层协议、传输层协议和应用层协议等。

首先,网络层协议是无线传感器网络中最基础的协议之一,它负责传感器节点之间的路由选择和数据包转发。

其中,LEACH(Low-Energy Adaptive Clustering Hierarchy)是一种常用的网络层协议,它通过将传感器节点分为簇来实现能量均衡,延长网络寿命。

LEACH协议能够有效地解决能量不平衡和网络拓扑变化的问题,被广泛应用于无线传感器网络中。

其次,传输层协议是保证数据传输可靠性和效率的关键环节。

在物联网中,常用的传输层协议包括RTP(Real-time Transport Protocol)和UDP(User Datagram Protocol)。

RTP协议常用于实时传输需要低延迟和高可靠性的数据,如视频和音频数据。

而UDP协议则适用于传输不需要100%可靠性保证的数据,如传感器数据。

传输层协议的选择需根据具体应用场景和需求进行。

最后,应用层协议是无线传感器网络中实现各种应用功能的重要手段。

物联网中,常见的应用层协议包括MQTT (Message Queuing Telemetry Transport)、CoAP (Constrained Application Protocol)和DDS(Data Distribution Service)等。

这些协议具有轻量级、低能耗、可扩展性强等特点,可以满足物联网中各类应用的需求。

例如,MQTT协议常用于低带宽、高延迟的环境中,适用于传感器数据的发布和订阅。

无线传感器网络路由协议

无线传感器网络路由协议

无线传感器网络路由协议无线传感器网络(Wireless Sensor Network,WSN)是由大量低成本、低功耗的传感器节点组成的网络系统,用于感知和收集环境信息。

无线传感器网络的路由协议起着关键作用,它决定了数据在网络中的传输路径和方式,影响着整个网络的性能、能耗以及生存时间。

1. LEACH(Low-Energy Adaptive Clustering Hierarchy)是一种经典的层次化路由协议。

它将网络中的节点划分为若干个簇(Cluster),每个簇有一个簇首节点(Cluster Head)。

簇首节点负责收集和聚合簇内节点的数据,并将聚合后的数据传输给基站节点,从而减少了网络中节点之间的通信量,节省了能耗。

2. AODV(Ad Hoc On-Demand Distance Vector)是一种平面路由协议,适用于无线传感器网络中节点数量较少且网络拓扑较稳定的情况。

AODV协议通过维护路由表来选择最短路径,当节点需要发送数据时,它会向周围节点发起路由请求,并根据收到的响应建立起路由路径。

3. GPSR(Greedy Perimeter Stateless Routing)是一种基于地理位置的路由协议。

它通过利用节点的地理位置信息来进行路由选择,具有低能耗和高效的特点。

GPSR协议将整个网络划分为若干个区域,每个节点知道自己的位置以及周围节点的位置,当需要发送数据时,节点会选择最近的邻居节点来进行转发,直到达到目的节点。

除了以上几种常见的路由协议,还有很多其他的无线传感器网络路由协议,如HEED(Hybrid Energy-Efficient Distributed clustering)、PEGASIS(Power-Efficient Gathering in Sensor Information Systems)等,它们各自具备不同的优势和适用场景。

总之,无线传感器网络的路由协议在保证数据传输可靠性和网络能耗方面起着重要的作用。

无线传感器网络通信协议

无线传感器网络通信协议

CATALOGUE目录•无线传感器网络概述•无线传感器网络通信协议基础•典型的无线传感器网络通信协议•无线传感器网络通信协议的性能评价与优化•无线传感器网络通信协议的未来发展趋势无线传感器网络概述无线传感器网络定义•定义:无线传感器网络(Wireless Sensor Network,WSN)是由一组自主、分布式、无线连接的传感器节点组成的网络,用于监测和记录环境参数,并将数据传输到中心节点进行处理和分析。

传感器节点具有自主性,能够独立完成数据采集和传输任务,同时具备分布式处理能力,能够实现节点间的协同工作。

自主性和分布式采用无线通信技术,实现节点间的数据传输和通信,降低了网络布线的成本和复杂性。

无线连接传感器节点通常具有有限的计算、存储和能量资源,需要在资源受限的情况下实现高效的数据采集和传输。

资源受限无线传感器网络的特点用于监测环境参数,如温度、湿度、气压、光照等,广泛应用于农业、林业、气象等领域。

环境监测监测工业生产过程中的参数,如温度、压力、流量等,实现工业自动化控制和优化。

工业控制用于智能家居系统中的环境参数监测和设备控制,提高家居生活的舒适性和智能化程度。

智能家居监测人体生理参数,如体温、心率、血压等,实现远程医疗和健康管理。

医疗健康无线传感器网络的应用场景议基础通信协议是一种规定设备间如何进行数据交互的规则和标准。

定义在无线传感器网络中,通信协议确保了各个传感器节点能够准确、高效地交换信息,是实现协同工作和数据收集的基础。

重要性通信协议的定义与重要性用于媒体访问控制,决定无线信道的使用方式,如何分配通信资源等。

MAC协议路由协议数据融合协议确定数据在传感器节点间的传输路径,以保证数据的可靠传输和能量的高效利用。

用于减少数据冗余,提高信息的质量,同时降低能量消耗。

030201无线传感器网络通信协议的分类能量高效可扩展性可靠性安全性无线传感器网络通信协议的设计目标01020304由于传感器节点通常能量受限,因此协议需要优化能量消耗,延长网络寿命。

无线传感器网络的数据传输协议解析

无线传感器网络的数据传输协议解析

无线传感器网络的数据传输协议解析无线传感器网络(Wireless Sensor Network,简称WSN)是由大量的分布式传感器节点组成的网络系统,用于收集、处理和传输环境中的各种数据。

在WSN中,数据传输协议起着至关重要的作用,它决定了节点之间如何进行通信和数据交换。

本文将对WSN中常用的数据传输协议进行解析,探讨其特点和应用场景。

一、无线传感器网络的数据传输需求在无线传感器网络中,传感器节点通过无线信道进行数据传输,其主要目标是实现低能耗、可靠性和实时性。

由于传感器节点通常由电池供电,因此能耗是一个重要的考虑因素。

另外,传感器网络中的节点通常分布在广泛的区域内,节点之间的通信可能受到信号衰减、干扰等因素的影响,因此传输可靠性也是一个关键问题。

同时,某些应用场景对数据的实时性要求较高,例如环境监测、智能交通等领域。

二、常用的数据传输协议1. 无线传感器网络协议栈无线传感器网络协议栈是一组协议的集合,用于实现无线传感器网络中的各种功能。

其中,数据传输协议位于协议栈的较高层,负责节点之间的数据传输和通信。

常用的无线传感器网络协议栈包括TinyOS、Contiki等。

2. 中断驱动数据传输协议中断驱动数据传输协议是一种基于事件触发的数据传输方式。

传感器节点在检测到感兴趣的事件发生时,通过中断信号通知其他节点,并将相关数据传输到目标节点。

这种协议具有低能耗和实时性的特点,适用于对事件响应要求较高的应用场景,如火灾监测、地震预警等。

3. 基于路由的数据传输协议基于路由的数据传输协议是一种通过节点之间的多跳路由实现数据传输的方式。

传感器节点将数据发送到邻居节点,然后通过多跳路由将数据传输到目标节点。

这种协议具有较高的可靠性和灵活性,适用于节点分布较广的场景,如农业环境监测、野外勘探等。

4. 基于数据聚集的数据传输协议基于数据聚集的数据传输协议是一种通过节点之间的数据聚集和压缩实现数据传输的方式。

传感器节点将感测到的数据进行聚集和压缩,然后将聚集后的数据传输到目标节点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目三了解无线传感器协议栈项目三了解ZigBee无线传感器网络协议栈知识目标1.掌握zigbee无线传感器网络的协议栈和协议的区别等知识。

2.掌握Z-Stack协议栈的OSAL分配机制。

3.了解Z-Stack协议栈的OSAL运行机制。

4.掌握Z-Stack协议栈的OSAL常用函数。

项目三了解ZigBee无线传感器网络协议栈技能目标1.掌握Z-Stack协议栈的运行机制。

2.掌握Z-Stack协议栈中OSAL的添加新任务的方法。

项目三了解ZigBee无线传感器网络协议栈在实际zigbee无线传感器网络工程的开发过程中首先借助TI提供的协议栈中例程SampleApp,接着根据需要完成的功能,查看支持Z-Stack协议栈的硬件电路图,再查阅数据手册(CC2530的数据手册、Z-Stack协议栈说明、Z-Stack协议栈API函数使用说明等)文件,然后再进行协议栈的修改。

最后,还需要烧录器下载到相应的硬件,实现zigbee无线传感器网络的组建和开发。

设计思路3.1.1协议与协议栈协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发;议栈是协议的具体实现形式。

通俗的理解为代码实现的函数库,以便于开发人员调用。

3.1Z-Stack协议栈3.1.1协议与协议栈协议栈是指网络中各层协议的总和,一套协议的规范。

其形象地反映了一个网络中文件传输的过程由上层协议到底层协议,再由底层协议到上层协议。

使用最广泛的是因特网协议栈,由上到下的协议分别是应用层(Http、Tel、DNS、Email等),运输层(TCP、UDP),网络层(IP),链路层(WI-FI、以太网、令牌环、FDDI等)。

3.1Z-Stack协议栈3.1.1协议与协议栈3.1Z-Stack协议栈3.1.1协议与协议栈Zigbee协议栈开发的基本思路如下。

①借助TI提供的协议栈中例程SampleApp进行二次开发,用户不需要深入研究复杂的zigbee协议栈,这样可以减轻开发者的工作量。

②Zigbee无线传感器网络中数据采集,只需要用户在应用层加入传感器的读取函数和添加头文件即可实现。

③如果考虑节能,可以根据数据采集周期(zigbee协议栈例程中已开发了定时程序)进行定时,定时时间到就唤醒zigbee终端节点,终端节点唤醒后,自动采集传感器数据,然后将数据发送给路由器或者直接发给协调器,即监测节点定时汇报监测数据。

④协调器(网关)根据下发的控制命令,将控制信息转发到具体的节点,即控制节点等待控制命令下发。

3.1Z-Stack协议栈3.1.2使用Z-Stack协议栈传输SampleApp.c 中定义了发送函数static voidSampleApp_SendTheMessage(void)。

该函数通过调用AF_DataRequest来发送数据。

该函数定义在Profile目录下的AF.c文件中。

3.1Z-Stack协议栈3.1.2使用Z-Stack协议栈传输*dstAddr发送目的地址+端点地址(端点号)和传送模式。

*srcEP源(答复或确认)终端的描述(比如操作系统中任务ID等)源源EP。

cID被Profile指定的有效的集群号。

len发送数据长度。

*buf指向存放发送数据的缓冲区的指针。

*transID任务ID号。

options:有效位掩码的发送选项。

Radius发送跳数,通常设置为AF_DEFAULT_RADIUS。

3.1Z-Stack协议栈3.2.1物理层物理层(PHY)定义了无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务,主要是在驱动程序的基础上,实现数据传输和管理。

物理层数据服务从无线物理信道上收发数据,管理服务包括信道能量监测(ED)、链接质量指示(LQI)、载波检测(CS)和空闲信道评估(CCA)等,维护一个由物理层相关数据组成的数据库。

3.2zigbee无线传感器网络功能层简介3.2.2质访问控制层介质访问控制层(MAC)提供点对点通信的数据确认(Per-hop Acknowledgments)以及一些用于网络发现和网络形成的命令,但是介质访问控制层不支持多跳(Multi-hop)、网型网络(Mesh)等概念3.2zigbee无线传感器网络功能层简介3.2.3网络层网络层(NWK)主要负责设备加入和退出网络、路由管理,在设备之间发现和维护路由,发现邻设备,存储邻设备信息等。

3.2zigbee无线传感器网络功能层简介3.2.3网络层网络层(NWK)主要负责设备加入和退出网络、路由管理,在设备之间发现和维护路由,发现邻设备,存储邻设备信息等。

1.地址类型2.网络地址分配3.Z-Stack寻址4.路由5.安全3.2zigbee无线传感器网络功能层简介3.2.4应用层应用层主要包括应用支持子层(APS)和Zigbee设备对象(ZDO)。

其中,APS负责维护和绑定表、在绑定设备之间传送消息;而ZDO 定义设备在网络中的角色,发起和响应绑定请求,在网络设备之间建立安全机制。

3.2zigbee无线传感器网络功能层简介3.3.1OSAL基础知识1.资源(Resource)2.共享资源(Shared Resource)3.任务(Task)4.多任务运行(Muti-Task Running)5.内核(Kernel)6.互斥(Mutual Exclusion)7.消息队列(Message Queue)3.3OSAL多任务分配机制3.3.1OSAL基础知识1.资源(Resource)2.共享资源(Shared Resource)3.任务(Task)4.多任务运行(Muti-Task Running)5.内核(Kernel)6.互斥(Mutual Exclusion)7.消息队列(Message Queue)3.3OSAL多任务分配机制3.3.2OSAL简介Z-stack是TI公司开发的zigbee协议栈,并经过zigbee联盟认可而被全球众多开发商所广泛采用。

Z-Stack采用基于一个轮转查询式操作系统,帮助程序员方便地开发一套zigbee系统。

3.3OSAL多任务分配机制3.3.2OSAL简介3.3OSAL多任务分配机制3.3.2OSAL简介一般情况下,用户只需额外添加3个文件就可以完成一个项目,一个是主控文件,存放具体的任务事件处理函数(例如SampleApp_ProcessEven t或GenericApp_ProcessEvent);一个是这个主控文件的头文件(例如SampleApp.h),另外一个是操作系统接口文件(例如OSAL_SampleApp.c),该文件主要存放任务数组tasksArr[],任务数组的具体内容为每个任务的相应的处理函数指针。

3.3OSAL多任务分配机制3.3.2OSAL简介“数据实体接口”的目标是向上层提供所需的常规数据服务;“管理实体接口”的目标是向上层提供访问内部层的参数、配置和管理数据服务。

物理层和媒体接入控制子层均属于IEEE802.15.4标准,而IEEE802.15.4标准与网络/安全层、应用层一起,构成了zigbee协议栈。

3.3OSAL多任务分配机制3.3.3协议栈软件架构整个Z-Stack的主要工作流程大致分为系统启动、驱动初始化、OSAL初始化和启动、进入任务轮询几个阶段。

3.3OSAL多任务分配机制3.3.3协议栈软件架构3.3OSAL多任务分配机制3.3.3协议栈软件架构系统上电后,通过执行ZMain文件夹中ZMain.c的main()函数实现硬件的初始化。

关总中断osal_int_disable(INTS_ALL);初始化板上硬件设置HAL_BOARD_INIT();检查工作电压状态zmain_vdd_check();初始化I/O口InitBoard(OB_COLD);初始化HAL层驱动HalDriverInit();初始化非易失性存储器sal_nv_init(NULL);初始化MAC层ZMacInit();分配64位地址zmain_ext_addr();初始化Zstack的全局变量并初始化必要的NV项目zgInit();初始化操作系统osal_init_system();使能全局中断osal_int_enable(INTS_ALL);初始化后续硬件InitBoard(OB_READY);显示必要的硬件信息zmain_dev_info();最后进入操作系统调度osal_start_system()。

3.3OSAL多任务分配机制此例程的默认路径为C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Sampl es\SampleApp\CC2530DB下找到SampleApp.eww。

在右侧工作空间窗口打开App文件夹,我们可以看到5个文件,分别是“SampleApp.c”、“SampleApp.h”、“OSAL_SampleApp.c”、“SampleAppHw.c”、“SampleAppHw.h”。

整个程序所实现的功能都在这5个文件当中。

3.4OSAL运行机制运行机制。

3.4OSAL运行机制①①tasksCnt该变量保存了任务数,其声明为const uint8tasksCnt,其中uint8的定义为typedef unsigned char uint8。

tasksCnt变量的定义在OSAL SampleApp.c文件中。

②②tasksEvents为该变量是一个指针,指向了事件表的首地址,其声明为uint16*tasksEvents,其中uint16的定义为typedef unsigned short uint16。

tasksEvents[]是一个指针数组,只是在OSAL_SampleApp.c文件进行定义。

③③tasksArr该变量是一个数组,该数组的每一项都是一个函数指针,指向了事件的处理函数,其声明为pTaskEventHandlerFn tasksArr[],其中pTaskEventHandlerFn的定义为typedef unsignedshort(*pTaskEventHandlerFn)(unsignedchartask_id,uns ignedshortevent)。

变量pTaskEventHandlerFn的定义OSAL_Tasks.h文件中。

3.4OSAL运行机制OSAL调度机制如下。

①入口程序为Zmain.c;②执行main()主程序;③任务调度初始化osal_init_system();④默认启动了osalInitTasks(),最多9个任务,添加到队列,序号0~8;⑤最后通过调用SampleApp_Init()实现用户自定义任务的初始化(用户根据项目需要修改该函数)。

相关文档
最新文档