ZigBee Z-stack 学习之osal_task

基于OSAL的嵌入式裸机事件驱动框架——事件及任务osal_task 参考B站up主用户任务通过单向链表连接起来,最后一项指向NULLtask_id 唯一且充当优先级的作用,task_id越大,优先级越高每个任务最多可以对应16个独立事件,最高位对应消息队列事件,留给用户设置0-14位。(注:事件集这16个事件只针对于此一个任务) 阅读详情

OSAL_TASK是操作系统任务,为了方便用户的设计和更改,TI的工程师将它以源代码的形式给出了。一般操作系统任务的应用命名格式为OSAL_“任务名”.C,例如,OSAL_SampleApp.c,我们建立新的任务时候可以把SampleApp改成我们自己工程的名字。

每个子系统(sub_system)在系统中作为一个OSAL TASK来运行。每个应用至少要有一个OSAL TASK,通过调用osalAddTasks()来创建。同时每个应用,必须增加至少一个主调函数到osalTaskAdd()。

 我们可以为每个应用设计一个OSAL_TASK,也可以多个任务在一个osal task里面。二者的优缺点就不讲了。

每个osal task必须做两件事情,一个是初始化,一个是向操作系统提交任务事件。

task初始化的格式:“应用名”_init.c例如:SampleApp.c

注册任务,格式:“应用名”_ProccessEvent,每个OSAL task除了强制的event以外,还最多可以添加15个event

强制(必须的)的event有:

1。SYS_EVENT_MSG (0x8000)

2。 AF_DATA_CONFIRM_CMD

调用AF_DataRequest()后成功发送数据的指示,ZSuccess说明已经成功发射出去了,如果标志位AF_ACK_REQUEST 置位,说明已经成功发送到目的节点,否则,则只能说明只是发送到下一跳。

3。AF_INCOMING_MSG_CMD

收到信息的指示

4。KEY_CHANGE

按键改变的指示

5。ZDO_NEW_DSTADDR

请求回应的指示

6。ZDO_STATE_CHANGE

设备对象改变的指示


ZIGBEE协议栈通信——阿里云上传数据(STM32)(一) ZigBee3.0 开发指南 阅读详情

相关推荐

ZIGBEE协议栈通信——阿里云上传数据(STM32)(一)_stm32 zigbee(1)

你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新如果你觉得这些内容对你有帮助,可以+V:Vip1104z获取!!!(备注:嵌入式)你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!

2401_84009749的博客 1636

OSAL中task,event,message区别

OSAL(Operating System Abstraction Layer 操作系统抽象层)(以上为个人见解)在OSAL中,提出了任务,事件,消息三个概念。它们之间的关系如下: event: 事件是当前系统中被触发的动作,例如有按键按下,接收到其他节点发送过来的消息等等。 message: 消息是收到的事件和事件内容的一个封装,比如发生了一个事件(收到别的节点发的消息),这时就会把这个事件所...

weixin_44280688的博客 1660

ZIGBEE协议栈通信——阿里云上传数据(STM32)(一)_stm32 zigbee

可以通俗地理解为一个简化版的操作系统,为Z-Stack的正确运行提供了内存管理、中断管理和任务调度等基本功能。

2401_83817689的博客 1115

OSAL多任务资源分配机制

一、概述      OSAL (Operating System Abstraction Layer),翻译为“操作系统抽象层”。    在ZigBee协议中,协议本身已经定义了大部分内容。在基于ZigBee协议的应用开发中,用户只需要实现应用程序框架即可。应用程序框架中包含了最多240个应用程序对象。如果我们把一个应用程序对象看做为一个任务的话,那么应用程序框架将包含一个支持多任务的资源分配

9854

ZigBee智能家居开发实战:从协议栈解析到组网通信全攻略

在物联网和智能家居领域,无线通信技术是实现设备互联的基础。ZigBee作为一种基于IEEE 802.15.4标准的低功耗、自组网协议,其核心价值在于为大规模设备网络提供了稳定、可靠的Mesh通信能力。理解其工作原理,关键在于掌握其分层架构:底层PHY/MAC层负责物理连接,而上层网络层与应用层则通过协议栈(如Z-Stack)实现了自组网、路由和安全等高级功能。对于开发者而言,无需深究全部协议细节,而应将协议栈视为提供关键API的工具集,聚焦于应用开发。在工程实践中,通过调用成熟的协议栈接口,可以快速实现设备

weixin_30892763的博客 397

GWAS与eQTL相结合,进一步筛选疾病相关基因

欢迎关注”生信修炼手册”!在GWAS分析结果中,大部分显著的SNP位点都位于非编码区,很难直接挖掘这些位点的调控机制。通常假设与疾病关联的SNP位点通过调控基因表达来发挥作用,而eQTL...

庐州月光的博客 1万+

LiteOS学习笔记-1LiteOS内核

LiteOS学习笔记-1LiteOS简介Lite OS特点Lite OS内核LiteOS SDK 此文参考https://bbs.huaweicloud.com/blogs/124244 Lite OS特点 轻量化,大小为10KB;面向IoT;支持功能静态裁剪;使用make文件可支持动态加载、分散加载。 Lite OS内核 与正常的操作系统内核一样,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,可以单独运行。 LiteOS SDK LiteOS SDK

kouqi627的博客 2139

光电振荡器(OEO):从原理到应用,解锁高频微波信号新纪元

本文深入解析了光电振荡器(OEO)的核心原理与前沿应用。OEO通过巧妙的光-电-光转换机制,利用光学谐振腔产生高频、高纯度、低相位噪声的微波信号,有效突破了传统电子电路的频率瓶颈。文章详细拆解了其工作流程,并探讨了在雷达系统、高速光通信及精密测量等领域的硬核应用价值。

weixin_29231027的博客 365

zigbee任务的处理流程

http://hi.baidu.com/lee112168/item/9bc4db721043dc01d1dcb3f7 zigbee任务的处理流程(一) 1、  添加任务 在协议栈中的OSAL.c文件中,byte osal_init_system( void )函数的功能是初始化OS、添加任务到OS任务表中。在这个函数中通过调用osalAddTasks()函数来定制项目所需要应用的任务,

tanqiuwei的专栏 4785

黑群晖断电后存储池‘已损毁’?别慌,SSH里这几条命令能救急

本文详细解析黑群晖断电后存储池显示‘已损毁’的紧急修复方法。通过SSH命令行工具,提供从诊断到修复的完整流程,包括RAID阵列重新组装、设备重建等关键步骤,帮助用户恢复数据访问。适用于因意外断电导致的存储池异常情况。

weixin_42651748的博客 375

先进封装技术 Part03---重布线层(RDL)的科普

RDL是一种在芯片封装过程中用于重新分布电气连接的技术。它通过在芯片表面或中介层上形成额外的布线层,重新分配芯片的I/O(输入/输出)位置,以适应不同的封装需求和提高电气连接的灵活性。

阿拉伯梳子的专栏 4703

Z-STACK 协议栈学习 -- OSAL

     期间参加了一次天池的比赛,然后就来了项目,,,(无力),比赛的内容也忘得差不多了,有时间再补上。      项目需要用zigbee做通信,为了开发得快一点这里就使用了Z-Stack,这是一个近似于小型操作系统管理的协议栈。我们先来看以下它的工作流程。 一、OSAL      OSAL管理着开发板上的各种资源,是一个为操作系统,他的工作流程如下。      首先我们需要知道整个协议...

weixin_39749553的博客 1049

告别Godot默认编辑器:手把手教你用VSCode配置C#开发环境(附中文注释避坑指南)

本文详细介绍了如何将VSCode配置为Godot引擎的C#开发环境,提升游戏开发效率。从环境准备、扩展配置到解决中文编码问题,提供完整的避坑指南和高级调试技巧,帮助开发者充分利用VSCode的智能补全和调试功能,打造高效工作流。

weixin_30596023的博客 189

ZIGBEE通讯-9.ZigBee协议栈的运行方式

Z-Stack协议栈包含了ZigBee协议所规定的基本功能,这些功能是以函数的形式实现的,为了便于管理这些函数集,从ZigBee 2006协议栈开始,ZigBee协议栈内加入了实时操作系统,称为OSAL。要学习协议栈的运行方式,其实就是在学习OSAL操作系统。 1、OSAL常用术语 在讲解之前,先介绍操作系统有关的部分基础知识。操作系统(OS)基本术语如下。 ①资源(Resource) :任...

飘飘仙儿__的博客 1128

人体红外传感器HC-SR501

本文记录的是如何用stm32使用HC-SR501。实验平台:野火指南者stm32f103vet6。实验现象:一旦有人体经过,LED会亮红色。HC-SR501 传感器工作原理人体都有恒定的体温,一般在 37 度,所以会发出特定波长 10UM 左右的红外线,被动式红外探头就是靠探测人体发射的 10um 左右的红外,进行工作的。人体发射的 10um 左右。

weixin_43772611的博客 1万+

教程: 将 SolidWorks 设计导出为 ROS 的 URDF

请按照以下步骤应用自定义徽标纹理:创建徽标材质文件:techniquepass材质名称:测试/材质颜色属性:环境、漫反射、镜面和发射都设置为白色(1 1 1 1),这意味着该材质看起来完全是白色的。纹理 在表面应用纹理图像 logo.png。将材质文件复制到 gazebo matrial:复制徽标图像:将 “徽标 ”替换为机器人上徽标所在位置的适当参考值。按照以上步骤,您就可以在 Gazebo 中为机器人添加自定义材质和纹理,包括徽标。

机器人控制与仿真应用 2457

CC2530 ZigBee协议栈 学习心得

最近一直在学习研究cc2530这款单片机,感觉自己的C语言水平还是不够有得提升的空间,但还是有不少收获。    CC2530是一款支持ZigBee无线组网协议的低功耗单片机,cc2530主要的应用场景是在物联网方面。因为有着无线组网和低功耗的优势所以被广泛使用物联网无线数据采集和控制。    ZigBee协议栈,一听就应该明白,这是个像TCP/IP一样的复杂协议,其实不然单片机的RAM和ROM都是...

斌cazure的博客 9805

自然语言处理6 -- 情感分析

1 概述 情感分析是自然语言处理中常见的场景,比如淘宝商品评价,饿了么外卖评价等,对于指导产品更新迭代具有关键性作用。通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外卖服务。 情感分析可以采用基于情感词典的传统方法,也可以采用基于深度学习的方法,下面详细讲解 ...

谢杨易的博客 5万+

Z-STACK学习笔记-OSAL分析

首先看的是main函数 里面有两个关于OSAL的函数 1、  osal_init_system();  //初始化系统 2、 osal_start_system(); //启动系统 首先分析一下系统的初始化 系统初始化里包含了几部分内容 1、内存分配管理的初始化 2、定时器的初始化 3、电源管理初始化 4、系统任务初始化             osalInitTasks

shy19910509的专栏 1168

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CC2531无线MCU开发实战:从ZigBee协议栈到低功耗设计

在嵌入式系统和物联网领域,微控制器(MCU)与无线通信技术的集成是构建智能节点的核心。其原理在于通过高度集成的系统级芯片(SoC),将计算、存储、射频收发及丰富外设整合于单一硅片,从而在物理尺寸、功耗与成本间取得最佳平衡。这种集成方案的技术价值在于极大简化了硬件设计,降低了开发门槛,并提升了系统可靠性与能效比。它广泛应用于智能家居、工业传感、无线遥控等需要稳定、低功耗无线连接的场景。本文聚焦于德州仪器经典的CC2531 SoC,它集成了增强型8051内核、IEEE 802.15.4射频前端及USB控制器,是

weixin_34023982的博客 327

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TI Z-stack协议栈学习-添加新任务

开始学习TI的zigbee协议栈,无线龙的资料看得比较乱,在网络找到不少分析协议栈的文章,先贴上来,等自己有空了再好好原创一下吧。 协议栈版本:ZStack-1.4.3-1.2.1      TI Z-stack协议栈学习-添加新任务 在Zstack(TI的Zigbee协议栈)中,对于每个用户自己新建立的任务通常需要两个相关的处理函数,包括:      (1).用于初始化的

tanqiuwei的专栏 2331

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【转】TI Z-stack协议栈学习-添加新任务

开始学习TI的zigbee协议栈,无线龙的资料看得比较乱,在网络找到不少分析协议栈的文章,先贴上来,等自己有空了再好好原创一下吧。 协议栈版本:ZStack-1.4.3-1.2.1 TI Z-stack协议栈学习-添加新任务 1.Zstack中如何实现自己的任务 http://zhenling.chen.blog.163.com/blog/static/19408519200977...

weixin_30311605的博客 246

华中科技大学计网实验cpt组网_无线传感器网络实验报告(十三)树型网络拓扑...

实验十三: 树型网络拓扑13.1实验目的1. 了解网络拓扑的基本概念;2. 掌握星网拓扑的实现过程;3. 学习星网拓扑的编程思想。13.2 实验环境 1. 硬件平台:ZigBee模块5个(1个Status,4个Data)、ZB-LINK调试器、USB3.0数据线、USB方口线两根、RJ11连接线;2. 软件平台:WinXP/Win7、IAR开发环境、SmartRFFlashProgrammer、Z...

weixin_26704349的博客 1948

z-stack 回调函数

首先声明,我是纯粹的菜鸟,看zstack有三周了。学习过程中经常来飞比论坛汲取营养。昨天读了xingqing的大作《RemoTI原版按键程序分析》(http://www.feibit.com/bbs/viewthread.php?tid=393),感觉获益匪浅,在他的那篇帖子的基础上,我又自己将思路梳理了一遍,将回调函数这一部分的东西先写出来,算是站在xingqing肩膀上写的吧,呵呵。感谢飞比论

u011352311的专栏 928
上一篇: Z-stack数据接收问题
下一篇: z-stack调试之ZDApp_init
cucmakeit
博客等级 码龄14年 30粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值