C/C#
文章平均质量分 74
叮当小菜
做汽车GPS相关配件的,车联网等嵌入式开发
展开
-
3.任务管理机制
这是我按照自己每天学习的进程来写的,期间遇到很多问题,都是慢慢的去解决,所以进度会相对比较慢一点原创 2017-06-15 14:14:37 · 5786 阅读 · 0 评论 -
四. 就绪列表
准备运行的任务被放置于就绪列表中。就绪列表包括2 个部分:位映像组包含了优先级信息,一个表包含了所有指向就绪任务的指针。一 优先级显示了优先级的位映像组。它的宽度取决于CPU_DATA 的数据类型(见CPU.H),它可以是8 位、16 位、32 位。根据处理器相应地设定。uC/OS-III 支持多达OS_CFG_PRIO_MAX 种不同的优先级(见OS_CFG.H)。在uC/OS-I原创 2017-06-20 15:32:51 · 873 阅读 · 0 评论 -
六 上下文切换
一 定义当UCOS-III转向执行另一项新任务的时候,他保存了当前任务的CPU寄存器到堆栈,并从新任务的堆栈CPU寄存器载入CPU,这个过程叫做上下文切换上下文切换需要一些开支,CPU的寄存器越多,开支越大。上下文切换的时间基本取决于有多少个CPU寄存器需要被存储和载入。上下文切换的代码是移植UCOS -II 时编写的,该部分代码要适用于处理器,这些代码被放在C和汇编文件中:OS_原创 2017-06-26 08:57:10 · 1110 阅读 · 1 评论 -
在C语言中,static静态变量,extern外部变量的区别
1:什么是staticstatic,叫做静态变量。一般用于全局变量里面,首先,我们来考虑一下为什么要用到static,我们可以想一下,一个项目其实是由很多位工程师一起来完成的,他们之间是互相独立完成自己所要完成的一个模块的,这就有可能出现定义相同的全局变量或者全局函数名(记住,我这边所说的全局变量指的是针对各自工程师的模块中),这样一旦整合到一起就会出现编译报错,因为会有相同的变量或者函数。原创 2017-06-14 14:19:57 · 4431 阅读 · 0 评论 -
C语言三种预处理功能
伪指令(或预处理指令)定义:预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:指令 用途# 空指令,无任何效果#include 包含一个源代码文件#def转载 2017-06-15 10:11:17 · 693 阅读 · 0 评论 -
宏定义有无参数宏定义和带参数宏定义两种
宏定义有无参数宏定义和带参数宏定义两种。 无参数的宏定义的一般形式为 # define 标识符 字符序列其中# define之后的标识符称为宏定义名(简称宏名),要求宏名与字符序列之间用空格符分隔。这种宏定义要求编译预处理程序将源程序中随后所有的定名的出现(注释与字符串常量中的除外)均用字符序列替换之。前面经常使用的定义符号常量是宏定义的最简单应用。如有:转载 2017-06-15 10:40:41 · 27880 阅读 · 2 评论