目前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. LCA基础 附例题(落谷)

    https://www.luogu.org/problemnew/solution/P3379 LCA叫做最短公共祖先,用来求距离树上两个节点最近的公共点: 常用倍增算法: #include<i ...

  2. Java 14 来势汹汹,这回让空指针无处遁形!!

    上篇:Java 14 之模式匹配,非常赞的一个新特性! 相信在坐的每一位 Java 程序员都遇到过空指针异常: NullPointerException(NPE),不甚其烦. 栈长之前也分享几篇避免空 ...

  3. python与excel的关系;铁打的python流水的excel

    现在很多行业,都离不开用Excel: 做财务的,要用Excel做报表:做物流的,会用Excel来跟踪订单情况:做HR的,会用Excel算工资:做分析的,会用Excel计算数据做报表.不知道你有没有这样 ...

  4. 详解 volatile关键字 与 CAS算法

    (请观看本人博文 -- <详解 多线程>) 目录 内存可见性问题 volatile关键字 CAS算法: 扩展 -- 乐观锁 与 悲观锁: 悲观锁: 乐观锁: 在讲解本篇博文的知识点之前,本 ...

  5. [WEB前置技能]HTTP协议

    HTTP概述 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

  6. Scrapy爬虫框架(1)--安装配置与常用命令

    安装与配置 Scrapy有几个安装依赖,一般来说可以直接pip install scrapy,这个过程会自动下载安装其他几个依赖. 上述安装方法不成功,则需要手动安装依赖包 步骤 安装 lxmlpip ...

  7. 安装和使用redis

    我现在只是在window上使用redis在其他平台上暂时没有操作过,如果你有其他好的意见欢迎提出来! 安装redis具体可查看:http://www.runoob.com/redis/redis-in ...

  8. ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.33.10' (111) 解决方法

    谷歌了一下之后,原来是在mysql的my.cnf中有下面一段代码: # Instead of skip-networking the default is now to listen only on ...

  9. python学习07列表

    '''列表''''''列表:是可变的序列,也是一种可以存储各种数据类型的集合 用[]中括号表示列表的开始和结束:元素之间用,逗号隔开 '''l1=[] #空列表print(len(l1))l2=[&q ...

  10. 2019-2020-1 20199329《Linux内核原理与分析》第四周作业

    <Linux内核原理与分析>第四周作业 一.上周问题总结: 虚拟机环境缺少部分库文件 书本知识使用不够熟练 二.本周学习内容: 1.实验楼环境使用gdb跟踪调试内核 1.1 在该环境下输入 ...