EmbeddedOsprey

嵌入式软件开发

C语言之#error/#warning

很多人写了一两年代码可能也没用过#error和#warning吧!我也是如此,因为我之前也不知道C语言中还有这玩意的存在,还是在看别人的代码后才知道有这个东西的。但是事实上你在编译代码的时候它们经常会在你的眼前晃悠,只是你不知道这些东西其实程序员也可以输出来的。 看图你就知道了: 是不是很亲切啊...

2018-12-10 12:17:17

阅读数 87

评论数 0

C语言中之const

const:限定一个变量不允许改变,产生静态作用,const在一定程度上可以提高程序的安全性和可靠性。 const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。宏定义: #define xxxx \ { xxx }\ \后不能有任何字符,包括空格 最后的 “}\”需要...

2018-12-07 20:43:57

阅读数 78

评论数 0

信号量保护

让我们举个例子。记DeviceALocked是一个位于内存中的R/W变量,用于指示设备A是否已经在使用中。任何一个任务,若欲使用设备A,都必须先检查这个变量的值。如果它的值为零,则表示设备可以使用。在任务获取到设备A后,它要把DeviceALocked的值改为1,表示设备A已经被占用。在设备A使用...

2018-11-28 20:55:26

阅读数 66

评论数 0

uCOS II 之任务控制块TCB

任务控制块TCB: OS_EXT OS_TCB *OSTCBCur; OS_EXT OS_TCB *OSTCBFreeList; OS_EXT OS_TCB *OSTCBHighRdy; OS_EXT OS_TCB *OSTCBList; OS_EXT OS_TCB *OSTC...

2018-11-28 20:48:41

阅读数 110

评论数 0

uCOS II 之查找最高优先级任务

我们知道在u/COS II中,一个任务只有一个优先级,并且这个优先级在整个系统是唯一的,也就是一个任务也是对应一个优先级。优先级即任务,任务即优先级。我们只需通过优先级就可以找到所有和该任务相关的资源。现在问题是就绪表中有那么多任务处于就绪态,如何从中找到其中最高优先级。方法有很多,其中一个就是f...

2018-11-28 20:47:27

阅读数 86

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭