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. AI 人工智能 探索 (八)

    绑定下,用来释放内存 布局框架.链接:http://pan.baidu.com/s/1eQzSXZO 密码:25ir 这次 我采用 ngui 来设定界面.除工具栏模块外,其他各类ui模块都是 内存池动 ...

  2. Lightoj 1004 - Monkey Banana Problem

    题目链接:http://acm.hust.edu.cn/vjudge/contest/121396#problem/F http://lightoj.com/volume_showproblem.ph ...

  3. hdu_2844_Coins(多重背包)

    题目连接:hdu_2844_Coins 题意:给你n个硬币的价值和对应的数量,问你从1到m有那些数能组合出来 题解:如果我们将硬币的价值看成一个物品的容量和价值,那么对应1-m,如果dp[i]==i, ...

  4. g1gc

    http://www.infoq.com/articles/G1-One-Garbage-Collector-To-Rule-Them-All http://blog.csdn.net/renfufe ...

  5. GPRS DTU概念及DTU的工作原理(转)

    源:http://blog.csdn.net/bichenggui/article/details/7889638 最近需要开发一个基于GRPS DTU数据传输的数据中心方案,于是找了一些资料.个人觉 ...

  6. zf-关于触摸屏子系统(查询机)的页面

    这个页面 一般是 touch/index.jsp 这个要记下来. -- 今天有个任务 是把查询机的UI页面给换掉

  7. 使用virsh命令创建KVM虚拟机快照

    查看虚拟机所在主机和虚拟机名称:[root@node-1 ~]# nova show a88dcf5d-c8b2-46a5-af27-a176d8235c9d|grep hyper| OS-EXT-S ...

  8. SpringMvc MultipartFile 图片文件上传

    spring-servlet.xml <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipar ...

  9. mysql 赋给用户权限 grant all privileges on

    遇到了 SQLException: access denied for  @'localhost' (using password: no) 解决办法   grant all privileges o ...

  10. stm32 IAP + APP ==>双剑合一(转)

    源:http://blog.csdn.net/yx_l128125/article/details/13591743 (扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级 ...