1 - RTOS简介&规范&任务创建
对外部响应能力:
实时(规定时间内)操作系统 , 有强(飞机系统)弱(信息采集系统)之分
与分时(顺序时间片)操作系统
FreeRTO实时操作系统
支持抢占式调度,合作式调度和时间片调度;内核大小在4-9K ;C语言编写
操作系统调度各个再死循环中的任务(管理任务),可以随时进入退出?
引入操作系统后,在编程时不需要精心设计程序执行流,任务间不存在干扰,编程反而变得简单了。
911规范(数据类型&变量名)


px = 指针+BaseTypet_
文件是.C文件
表示私有函数


动态——静态创建任务
结构体,链表
TCB_t _表示结构体
对于每个任务在内存总都有相应的TCB结构体包含栈顶,两个链表(雾),优先级,栈的起始 ,任务控制块tskTCB( TCB_t )
handle 就是控制块的指针, 想用这个结构体又不想了解其结构,就用handle
动态创建:
TaskHandle_t xHandleTask1;

(函数指针,名字,栈深度(大小=深度*x ),实参,优先级(越小越低),指向 TCB_t【通过这个handle来引用/删除这个任务】)
关于深度*x的x : 深度单位是字类型定义的int类型 ;【32位的x=4,1位=8字节】 ????

创建新任务会创建站的大小(100),每个任务的栈都不一样
静态创建(TCB结构体&栈 事先分配好)



使用这个函数得配置这个,因为资源有限,添加开关决定是否启动

在
中定义
报错


OK
关于优先级,先执行优先级高的任务,若是循环的话则会一直执行下去
删除任务
通过创建任务传入的handle来删除任务,也可以自杀(传入null)
这个handle哪里来的呢? 动态创建的时候传入,静态创建的返回值

(void *)4 就是地址为4, 两者配合就能打印出4和5 (∵函数里面的强制类型转换)


创建出两个不同的任务,各自的数据都保存在各自不同的栈中

关键:需要考虑数据量大小,不让栈溢出
1 - RTOS简介&规范&任务创建的更多相关文章
- 01-Git简介和仓库创建
Git简介 Linus的第二个伟大作品.2005年由于BitKeeper软件公司对Linux社区停止了免费使用权.Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了. 目前使用Git ...
- 7.Git分支-分支简介、分支创建、分支切换
1.分支简介 几乎所有的版本控制系统都支持某种形式的分支.使用分支意味着可以把你的工作从开发主线上分离开来,以免影响开发主线.Git的分支是其必杀技,它相对于其它版本控制系统来说,具有难以置信的轻量性 ...
- 第1天:Django框架简介与工程创建
Django简介 Django特点 环境搭建 创建工程 启动服务 使用pycharm打开工程 创建子应用 Django简介 Django,是用Python语言写的开源web开发框架,并遵循MVC设计. ...
- 001-Django简介与项目创建
简介 django,是用python语言写的开源web开发框架,并遵循MVC设计 主要目的是简便.快速的开发数据库驱动的网站 强调代码复用,有很多第三方插件,强调快速开发和DRY(DoNotRepea ...
- Java并发—简介与线程创建
程序.进程和线程 程序:一段静态的代码,一组指令的有序集合,不运行的话只是一堆代码. 程序并不能单独执行,只有将程序加载到内存中,系统为他分配资源后才能够执行,这种执行的程序称之为进程.也就是说进程是 ...
- Python数据分析与展示[第三周](pandas简介与数据创建)
第三周的课程pandas 分析数据 http://pandas.pydata.org import pandas as pd 常与numpy matplotlib 一块定义 d=pd.Series(r ...
- Objective-C编码规范
参考 http://www.csdn.net/article/2015-06-01/2824818-objective-c-style-guide/1 介绍 我们制定Objective-C编码规范的原 ...
- Objective-C编码规范:26个方面解决iOS开发问题
介绍 我们制定Objective-C编码规范的原因是我们能够在我们的书,教程和初学者工具包的代码保持优雅和一致.即使我们有很多不同的作者来完成不同的书籍. 这里编码规范有可能与你看到的其他Object ...
- Postman用法简介
转自:http://blog.csdn.net/flowerspring/article/details/52774399 Postman用法简介 转载 2016年10月10日 09:04:10 10 ...
- 从零开始编写自己的C#框架(9)——数据库设计与创建
对于千万级与百万级数据库设计是有所区别的,由于本项目是基于中小型软件开发框架来设计,记录量相对会比较少,所以数据库设计时考虑的角度是:与开发相结合:空间换性能:空间换开发效率:减少null异常.... ...
随机推荐
- 淘宝一面:“说一下 Spring Boot 自动装配原理呗?”
本文已经收录进 Github 95k+ Star 的Java项目JavaGuide .JavaGuide项目地址 : https://github.com/Snailclimb/JavaGuide . ...
- 【Java】ArrayList线程不安全的坑
问题复现: 使用Java的steam().paralleStream(),foreach()方法向ArrayList添加数据,导致ArrayList中出现空值,代码如下: public static ...
- logstash 与ElasticSearch:从CSV文件到搜索宝库的导入指南
logstash 与ElasticSearch:从CSV文件到搜索宝库的导入指南 使用 logstash 导入数据到 ES 时,由三个步骤组成:input.filter.output.整个导入过程可视 ...
- MySQL安装 starting the server解决办法
https://blog.csdn.net/qq_52183856/article/details/123792012 主要原因:
- 关于laravel路由无法访问(nginx)
laravel路由无法访问 被这个问题折腾了 好几次了,记录一下希望可以帮到后面的朋友 在laravel路由中配置好了之后无法访问的问题有可能是因为在本地服务配置的问题(我使用的是nginx服务器) ...
- T406696 『STA - R4』冰红茶 题解
题目链接:冰红茶 比较有意思的套路题(前提是接触过) 首先,一个最基本的线段树包含两种操作的板子要会,分别为区间赋值与区间加,同时维护区间最值.这个挺简单的,区间赋值优先级高于区间加,可以将区间加覆盖 ...
- JS axios cancelToken 是如何实现取消请求?稍有啰嗦但超有耐心的 axios 源码分析
壹 ❀ 引 axios,一个基于promise且对ajax进行了二次封装的http库,在提供了与promise类似的API便捷写法同时,它还有一大特点,便是支持取消http请求.当然取消请求并不是ax ...
- java 如何计算两个汉字的相似度?如何获得一个汉字的相似汉字?
计算汉字相似度 情景 有时候我们希望计算两个汉字的相似度,比如文本的 OCR 等场景.用于识别纠正. 实现 引入 maven <dependency> <groupId>com ...
- 记一次 .NET某列控连锁系统 崩溃分析
一:背景 1. 讲故事 过年喝了不少酒,脑子不灵光了,停了将近一个月没写博客,今天就当新年开工写一篇吧. 去年年初有位朋友找到我,说他们的系统会偶发性崩溃,在网上也发了不少帖子求助,没找到自己满意的答 ...
- Kafka集群搭建与SpringBoot项目集成
本篇文章的目的是帮助Kafka初学者快速搭建一个Kafka集群,以及怎么在SpringBoot项目中使用Kafka. kafka集群环境包地址:https://pan.baidu.com/s/1Mar ...