uCOS-iii 中定义的一些常量

uCOS-iii 中有许多宏定义的量,这些量不需要全部记住是什么意思,因为在阅读代码的时候可以选中变量或宏定义然后右键查看定义,就可以知道它代表的什么意思。但是如果知道什么样的变量是大概是什么含义,这样会在阅读代码的时候很流畅。这是我第一天阅读代码的时候遇到的一些宏定义:

第一种是yes和no类型的:常用的TRUE,YES,ENABLE,ACTIVE,VALID,ON,SET,OK都是1的意思,反之则是0:

#define  DEF_FALSE                                         0u
#define DEF_TRUE 1u #define DEF_NO 0u
#define DEF_YES 1u #define DEF_DISABLED 0u
#define DEF_ENABLED 1u #define DEF_INACTIVE 0u
#define DEF_ACTIVE 1u #define DEF_INVALID 0u
#define DEF_VALID 1u #define DEF_OFF 0u
#define DEF_ON 1u #define DEF_CLR 0u
#define DEF_SET 1u #define DEF_FAIL 0u
#define DEF_OK 1u

第二种是常用的数字的定义。例如DEF_BIT_XX的意思就是二进制的一个1后面有XX个零,例如DEF_BIT_00代表1后面一个0,那就是1,也就是0x01u,而DEF_BIT_07就是1后面7个0,也就是二进制的10000000,这就是十六进制的0x80u。

#define  DEF_BIT_00                                     0x01u
#define DEF_BIT_01 0x02u
#define DEF_BIT_02 0x04u
#define DEF_BIT_03 0x08u
#define DEF_BIT_04 0x10u
#define DEF_BIT_05 0x20u
#define DEF_BIT_06 0x40u
#define DEF_BIT_07 0x80u #define DEF_BIT_08 0x0100u
#define DEF_BIT_09 0x0200u
#define DEF_BIT_10 0x0400u
#define DEF_BIT_11 0x0800u
#define DEF_BIT_12 0x1000u
#define DEF_BIT_13 0x2000u
#define DEF_BIT_14 0x4000u
#define DEF_BIT_15 0x8000u #define DEF_BIT_16 0x00010000u
#define DEF_BIT_17 0x00020000u
#define DEF_BIT_18 0x00040000u
#define DEF_BIT_19 0x00080000u
#define DEF_BIT_20 0x00100000u
#define DEF_BIT_21 0x00200000u
#define DEF_BIT_22 0x00400000u
#define DEF_BIT_23 0x00800000u #define DEF_BIT_24 0x01000000u
#define DEF_BIT_25 0x02000000u
#define DEF_BIT_26 0x04000000u
#define DEF_BIT_27 0x08000000u
#define DEF_BIT_28 0x10000000u
#define DEF_BIT_29 0x20000000u
#define DEF_BIT_30 0x40000000u
#define DEF_BIT_31 0x80000000u
/*$PAGE*/
#define DEF_BIT_32 0x0000000100000000u
#define DEF_BIT_33 0x0000000200000000u
#define DEF_BIT_34 0x0000000400000000u
#define DEF_BIT_35 0x0000000800000000u
#define DEF_BIT_36 0x0000001000000000u
#define DEF_BIT_37 0x0000002000000000u
#define DEF_BIT_38 0x0000004000000000u
#define DEF_BIT_39 0x0000008000000000u #define DEF_BIT_40 0x0000010000000000u
#define DEF_BIT_41 0x0000020000000000u
#define DEF_BIT_42 0x0000040000000000u
#define DEF_BIT_43 0x0000080000000000u
#define DEF_BIT_44 0x0000100000000000u
#define DEF_BIT_45 0x0000200000000000u
#define DEF_BIT_46 0x0000400000000000u
#define DEF_BIT_47 0x0000800000000000u #define DEF_BIT_48 0x0001000000000000u
#define DEF_BIT_49 0x0002000000000000u
#define DEF_BIT_50 0x0004000000000000u
#define DEF_BIT_51 0x0008000000000000u
#define DEF_BIT_52 0x0010000000000000u
#define DEF_BIT_53 0x0020000000000000u
#define DEF_BIT_54 0x0040000000000000u
#define DEF_BIT_55 0x0080000000000000u #define DEF_BIT_56 0x0100000000000000u
#define DEF_BIT_57 0x0200000000000000u
#define DEF_BIT_58 0x0400000000000000u
#define DEF_BIT_59 0x0800000000000000u
#define DEF_BIT_60 0x1000000000000000u
#define DEF_BIT_61 0x2000000000000000u
#define DEF_BIT_62 0x4000000000000000u
#define DEF_BIT_63 0x8000000000000000u

uCOS-iii 中定义的一些常量的更多相关文章

  1. ucos III中任务之间的数据通信和任务划分

    1. 如果将关系密切(比如两个任务之间需要经常收发数据)的若干功能分别用不同的任务来实现,则需要进行大量的任务之间数据通信和同步通信,这系统来说是一个很大的负担.因此应该将关系密切的若干功能组合成一个 ...

  2. 在php中定义常量时,const与define的区别?

    问]在php中定义常量时,const与define的区别?  [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...

  3. 在C++中定义常量的两种方法的比较

    常量是定以后,在程序运行中不能被改变的标识符.C++中定义常量可以用#define .const 这两种方法.例如:#define PRICE 10 //定义单价常量10const int PRICE ...

  4. PHP中定义常量的几种方式与区别

    [问]在php中定义常量时,const与define的区别? [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...

  5. java如何引入接口中定义的常量

    接口 (A.java) : package config; public interface A { String PROJECT_ROOT_DIR = System.getProperty(&quo ...

  6. Java中定义常量方法及建议(Class/Interface)

    Class定义常量方法(推荐方法) //final修饰符 public final class Constants { //私有构造方法 private Constants() {} public s ...

  7. PHP中定义常量

    PHP中定义常量的方式如下: define(常量名,常量值); //定义常量PUBLISHER define('PUBLISHER', "O'Reilly & Associates& ...

  8. 【mybatis】mybatis使用java实体中定义的常量,或静态方法

    mybatis使用java实体中定义的常量 示例代码: <select id="findDealerInfo" parameterType="com.pisen.c ...

  9. PHP:在class中定义常量注意事项

    一.不能在成员函数中定义常量,否则会引发诡异地语法错误 syntax error, unexpected 'CONST' (T_CONST) 示例 /* 错误的方式 */ class A { publ ...

随机推荐

  1. opencv鼠标操作及GUI矩形绘画

    OpenCV的鼠标操作是通过一个中介函数配合回调函数来实现的.指定鼠标操作消息回调函数的函数为SetMouseCallback. void setMouseCallback(const string& ...

  2. js 去除html标签

    function removeHTMLTag(str) { str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag str = str.r ...

  3. mplayer最全的命令

    前段时间做过qt内嵌mplayer的一个小程序,感觉mplayer还行不过不支持打开图片感觉有点无力.话不多说上代码: QString path="d:/1.mkv"; QWidg ...

  4. haxe 嵌入swf 读取里面的内容

    首先安装 swf 库,运行命令: 命令提示符: haxelib install swf 在project.xml 加上 <!-- 导入swf类库 --> <haxelib name= ...

  5. Ubuntu下安装Node.js

    下载Linux Binaries (.tar.gz)二进制包 解压 重命名为node 移动到/usr/local/目录下 创建软连接 ln -s /usr/local/node/bin/node   ...

  6. asp读取指定目录下的文件名

    bianli(Server.MapPath("/")+"\pic") InStrRev("abcd.jpg", ".") ...

  7. context-param与init-param的区别与作用

    <context-param>的作用: web.xml的配置中<context-param>配置作用 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件 ...

  8. Linux批量替换文本,文件夹内所有文本内容

    1.替换文件夹内所有文件匹配的字符串 sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径` 例如将/var/www/test文件夹下的所有文件内容中的 ...

  9. css块级标签、行内标签、行内块级标签

    <html><head lang="en"> <meta charset="UTF-8"> <title>< ...

  10. Struts2升级出现的问题

    由于大家都懂的原因,涉struts2的项目需要将struts2相关包升级至2.3.15.1.今将升级方法和常见问题解决简单总结如下. 一.基本升级操作 1. 获取Struts2.3.15.1jar包 ...