目前uCOS中已经接触到的全局变量:

OSTCBCur

OSIntNesting

OSPrioHighRdy    最高优先级任务

任哲编著《嵌入式实时操作系统uC/OS-II原理及应用》P76中图3-2函数OSIntExit()的流程图

与卢友亮编著《嵌入式实时操作系统uC/OS原理与实践》中P78最上面一段文字,理解了。

“与多疑者共事则事必不成,与好利者共事则己必受累;无实学却徒有虚名当知有祸变;凡专注一事终身则必有成就。天下古今庸人皆以惰字致败;天下古今人才皆以傲字致败;须趁三十以前立志猛进;观人四法:讲信用,无官气,有条理,少大话。—— 曾国藩”

OSTaskStkInit()     任务堆栈初始化

调用OSTaskStkInit()函数建立堆栈,函数返回值psp是任务栈的新栈顶,并保存在任务的OS_TCB中。

OSTaskStkInit()函数中的第四个参数主要是为了兼容OSTaskCreateExt()函数而设置的,不用可以设置成0.

OSTCBInit()      任务控制模块初始化      OSTCBInit()所属文件是OS_CORE.C

OSTCBInit()函数从空闲的OS_TCB缓冲区中获得并初始化一个OS_TCB。

OSTaskCtr     任务计数器

INT8U OSTaskCreate (void(*task)(void *pd),void *pdata, OS_STK *ptos, INT8U prio)

函数需要四个参数:

(1)task:任务代码的指针。

(2)pdata:当任务开始执行时传递给任务的参数的指针。

(3)ptos:分配给任务堆栈的栈顶指针。

(4)prio:分配给任务的优先级。

uCOS2014.1.8的更多相关文章

  1. uCOS2014.1.11

    typedef unsigned char  BOOLEAN;typedef unsigned char  INT8U;      /* Unsigned  8 bit quantity   */ty ...

  2. uCOS2014.1.11(转载)(void*)0 的理解

    一般把(void*)0定义为NULL表示这是个空指针void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据.众所周知,如果指针p1和p2的类型 ...

  3. uCOS2014.1.10

    uC/OS-Ⅱ任务的结构有两种:一种是无限循环结构:另一种是只执行一次的程序结构.若采用只执行一次的程序结构,就要用任务删除函数来实现. uC/OS-Ⅱ进行任务的管理是从调用启动函数OSStart() ...

  4. uCOS2014.1.9

    卢友亮P69 ptcb->OSTCBStat |= OS_STAT_SUSPEND; /*标志任务被挂起*/ 这句是标志人物被挂起成阻塞态的关键. OSTCBStat  //任务的当前状态标志 ...

  5. uCOS2014.1.7

    主要关于任务堆栈: 在计算机中一般设置一个专用的地址寄存器用来存放堆栈的栈顶地址,这个寄存器称为堆栈指针(SP). 任务堆栈有两种,一种是地址向下增长的,PC就是采用这样的堆栈: 另一种是地址向上增长 ...

随机推荐

  1. 谈谈MySQL的索引

    目录 索引 前言 是什么 B树 B+树 B树和B+树结构上异同 有什么用 怎么用 索引 前言 总所周知,数据库查询是数据库的最主要功能之一.我们都希望查询数据的速度能尽可能的快.而支撑这一快速的背后就 ...

  2. Springboot:第一个Springboot程序(一)

    1.创建Springboot项目 选择创建Springboot项目: 填写项目基本信息: 选择Springboot版本以及web依赖(内嵌tomcat): 创建完成: 创建完成后 等待构建maven项 ...

  3. python 基础篇 自定义函数

    多态 我们可以看到,Python 不用考虑输入的数据类型,而是将其交给具体的代码去判断执行,同样的一个函数(比如这边的相加函数 my_sum()),可以同时应用在整型.列表.字符串等等的操作中. 在编 ...

  4. 如何将Python项目发布到PyPI

    The Python Package Index (PyPI) is a repository of software for the Python programming language. 如何打 ...

  5. Nacos - 阿里开源配置中心

    配置中心相信大家都有听过,zookeeper.apollo等等都是配置中心的代表,但大部分都是JAVA系为主的,笔者主要开发语言使用的是Golang当然也有类似于ETCD这样的组件,但是并不方便管理也 ...

  6. TensorFlow keras dropout层

    # 建立神经网络模型 model = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), # 将输入数据的形状进行修改成神经网 ...

  7. Java IO 流--FileUtils 工具类封装

    IO流的操作写多了,会发现都已一样的套路,为了使用方便我们可以模拟commosIo 封装一下自己的FileUtils 工具类: 1.封装文件拷贝: 文件拷贝需要输入输出流对接,通过输入流读取数据,然后 ...

  8. Android:finish()与System.exit(0)之间的区别

    finish()与System.exit(0)都是用来退出.但是两者还是有一定的区别: finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没 ...

  9. hdu_2124 Flying to the Mars & hdu_1800 Repair the Wall 贪心水题

    hdu_1800 简单排一下序,从大开始把比他小的都访问一遍,ans++: #include <iostream> #include <stdio.h> #include &l ...

  10. UVALive 7509 Dome and Steles

    三分 #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #d ...