OSAL系统简介

news/2024/10/16 21:05:19/

看一段程序的时候,往往要从它的数据结构入手。
 main()函数中主循环存在两个关键数组,*tasksEvents与*tasksArr,
 tasksEvents这个数组存放的是从序号为0到tasksCnt,每个任务在本次循环中是否要被运行,需要运行的任务其值非0,否则为0。
 而tasksArr数组则存放了对应每个任务的入口地址,只有在tasksEvents中记录的需要运行的任务,在本次循环中才会被调用到。

for(;;) // Forever Loop
{
uint8 idx = 0;
Hal_ProcessPoll(); // 系统定时器设置
do {
if (tasksEvents[idx]) // 寻找最高优先级的任务来运行
{
break;
}
} while (++idx < tasksCnt);
if (idx < tasksCnt)
{
uint16 events;
halIntState_t intState;
HAL_ENTER_CRITICAL_SECTION(intState);
events = tasksEvents[idx];
tasksEvents[idx] = 0; // 本任务运行完了,要对其清空,为后面要运行的任务让路
HAL_EXIT_CRITICAL_SECTION(intState);
events = (tasksArr[idx])( idx, events ); //最关键的一句话,如图一中,运行对应的任务
HAL_ENTER_CRITICAL_SECTION(intState);
tasksEvents[idx] |= events; // 本任务可能没完全完成,如果是这样,再次设置标志位,在下一次循环中继续执行
HAL_EXIT_CRITICAL_SECTION(intState);
}
}


 


http://www.ppmy.cn/news/829220.html

相关文章

机器人操作系统(ROS)

机器人操作系统&#xff08;Robot Operating System&#xff0c;ROS&#xff09;是一款广泛应用于机器人领域的开源操作系统。它最初由斯坦福大学人工智能实验室&#xff08;Stanford AI Lab&#xff09;开发&#xff0c;旨在为机器人软件开发提供一个通用的框架和平台。ROS提供…

ros操作系统的介绍

一、ROS的来源 1.随着机器人领域的快速发展和复杂化.代码的复用性和模块化的需求越来越强烈.而已有的开源机器人系统 又不能很好的适应需求.2010Willow Garage公司发布了开源机器人操作系统ROS(robot operating system), 很快在机器人研究领域展开了学习和使用ROS的热潮 …

ros系统概览

文章目录 1&#xff0c;ROS系统介绍2&#xff0c;系统分层结构 1&#xff0c;ROS系统介绍 ros系统的设计目标是便于智能机器人研发过程中的代码复用&#xff0c;因此ros采用开源的方式来维护整个系统&#xff0c;即通过现有的ros系统来加快智能机器人系统的研发&#xff0c;并…

VisProg解析:根据自然语言指令解决复杂视觉任务

VisProg&#xff1a;根据自然语言指令解决复杂视觉任务 1. 介绍 VisProg 是一种神经符号系统&#xff0c;可以根据自然语言指令解决复杂的组合视觉任务。VisProg 使用 GPT3 的上下文学习能力来生成 Python 程序&#xff0c;然后执行这些程序以获得解决方案和全面且可解释的基…

【LiteOS】小白进阶之系统移植配置解析

LiteOS 配置文件是操作系统移植的核心部分 - los_config.h。 1、配置时钟 系统时钟的配置,需要根据不同的 CPU 以及 CPU 初始化的时钟频率来修改: #define OS_SYS_CLOCK 16000000 2、地址配置 extern char __data_end; e…

揭开液体活检技术的神秘面纱

液体活检&#xff08;liquid biopsy&#xff09;是新兴的肿瘤诊断技术&#xff0c;与传统检测手段相比具有创伤性小、取样便捷、可实时动态检测等优势&#xff0c;在肿瘤早期筛查、分子分型、复发监测和预后评估等方面起到重要作用。 图 1 与传统的组织活检相比&#xff0c;液…

YOLO系列(v1~v3)的学习及YOLO-Fastest在海思平台的部署(上)

YOLO系列&#xff08;v1~v3&#xff09;的学习及YOLO-Fastest在海思平台的部署&#xff08;上&#xff09; YOLO系列&#xff08;v1~v3&#xff09;的学习及YOLO-Fastest在海思平台的部署&#xff08;中&#xff09; YOLO系列&#xff08;v1~v3&#xff09;的学习及YOLO-Fastes…

自动控制的历史发展

本文转载自https://zhuanlan.zhihu.com/p/65339164那些年的神贴——自动控制的故事&#xff0c;原作者应该是《大话自动化:从蒸汽机到人工智能》的作者晨枫&#xff0c;其在网上发表过《自动控制的故事》和大量有关工业自动化的文章。 写在前面&#xff1a; 从文章来看&#…