1每个.c文件开头都加#include “includes.h”的头文件
作为主头文件,一方面它会增加编译时间,但同时也提高了代码的移植性。
2 ucos ii源码中不适用C语言常用的数据类型,而是重新定义。这样就可以不受硬件平台的影响,增加代码的移植性。
3
#ifdef xxx_GLOBALS |
#define xxx_EXT |
#else |
#define xxx_EXT extern |
#endif |
代码释义:如果定义过xxx_GLOBALS的宏,就定义为空(防止重复定义);如果没有定义,就定义成外部全局变量。
4
OS_ENTER_CRITICAL() 关中断;而OS_EXIT_CRITICAL()开中断。关中断和开中断是为了保护临界段代码
显示函数:显示内存从绝对地址0x000B8000开始,每个字符需要两个字节。第一个字节是用户想要显示的字符,第二个字节用来确定前景色和背景色。前景色用低四位来表示,背景色用第4位到6位来表示。最高位表示这个字符是否闪烁,(1)表示闪烁,(0)表示不闪烁。
PC_DispClrScr() 清屏
PC_DispClrLine() 清行
PC_DispChar() 写字符
PC_DispStr() 写字符串
6代码时间测量
INT16U time; |
|
PC_ElapsedInit();//初始化定时器2 |
. |
. |
PC_ElapsedStart();//开始计时 |
PC_DispChar(40, 24, ‘A’, DISP_FGND_WHITE); |
time = PC_ElapsedStop();//结束计时,并返回时间(单位us) |
7其他函数
调用PC_DOSSaveReturn()可以保存当前DOS环境,而调用PC_DOSReturn()可以返回到DOS。
PC_GetDateTime()函数可得到PC中的日期和时间;PC_GetKey() 函数检查是否有按键被按下。如果有按键被按下,函数返回其值。函数PC_SetTickRate()允许用户为 µC /OS-II定义频率,以改变钟节拍的速率。
8 µC/OS-II要用户在使用任何服务之前先调用OSInit(),它会建立两个任务:空闲任务和统计任务,前者在没有其它任务处于就绪态时运行;后者计算CPU的利用率。
9 main()调用PC_VectSet()来设置µCOS-II中的 CPU寄存器切换。
10在建立其他任务之前,必须调用OSStatInit()来确定用户的PC有多快
11在启动多任务OSStart()之前用户至少要先建立一个任务,