uCOS-iii 中定义的一些常量
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 中定义的一些常量的更多相关文章
- ucos III中任务之间的数据通信和任务划分
1. 如果将关系密切(比如两个任务之间需要经常收发数据)的若干功能分别用不同的任务来实现,则需要进行大量的任务之间数据通信和同步通信,这系统来说是一个很大的负担.因此应该将关系密切的若干功能组合成一个 ...
- 在php中定义常量时,const与define的区别?
问]在php中定义常量时,const与define的区别? [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...
- 在C++中定义常量的两种方法的比较
常量是定以后,在程序运行中不能被改变的标识符.C++中定义常量可以用#define .const 这两种方法.例如:#define PRICE 10 //定义单价常量10const int PRICE ...
- PHP中定义常量的几种方式与区别
[问]在php中定义常量时,const与define的区别? [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...
- java如何引入接口中定义的常量
接口 (A.java) : package config; public interface A { String PROJECT_ROOT_DIR = System.getProperty(&quo ...
- Java中定义常量方法及建议(Class/Interface)
Class定义常量方法(推荐方法) //final修饰符 public final class Constants { //私有构造方法 private Constants() {} public s ...
- PHP中定义常量
PHP中定义常量的方式如下: define(常量名,常量值); //定义常量PUBLISHER define('PUBLISHER', "O'Reilly & Associates& ...
- 【mybatis】mybatis使用java实体中定义的常量,或静态方法
mybatis使用java实体中定义的常量 示例代码: <select id="findDealerInfo" parameterType="com.pisen.c ...
- PHP:在class中定义常量注意事项
一.不能在成员函数中定义常量,否则会引发诡异地语法错误 syntax error, unexpected 'CONST' (T_CONST) 示例 /* 错误的方式 */ class A { publ ...
随机推荐
- opencv鼠标操作及GUI矩形绘画
OpenCV的鼠标操作是通过一个中介函数配合回调函数来实现的.指定鼠标操作消息回调函数的函数为SetMouseCallback. void setMouseCallback(const string& ...
- js 去除html标签
function removeHTMLTag(str) { str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag str = str.r ...
- mplayer最全的命令
前段时间做过qt内嵌mplayer的一个小程序,感觉mplayer还行不过不支持打开图片感觉有点无力.话不多说上代码: QString path="d:/1.mkv"; QWidg ...
- haxe 嵌入swf 读取里面的内容
首先安装 swf 库,运行命令: 命令提示符: haxelib install swf 在project.xml 加上 <!-- 导入swf类库 --> <haxelib name= ...
- Ubuntu下安装Node.js
下载Linux Binaries (.tar.gz)二进制包 解压 重命名为node 移动到/usr/local/目录下 创建软连接 ln -s /usr/local/node/bin/node ...
- asp读取指定目录下的文件名
bianli(Server.MapPath("/")+"\pic") InStrRev("abcd.jpg", ".") ...
- context-param与init-param的区别与作用
<context-param>的作用: web.xml的配置中<context-param>配置作用 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件 ...
- Linux批量替换文本,文件夹内所有文本内容
1.替换文件夹内所有文件匹配的字符串 sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径` 例如将/var/www/test文件夹下的所有文件内容中的 ...
- css块级标签、行内标签、行内块级标签
<html><head lang="en"> <meta charset="UTF-8"> <title>< ...
- Struts2升级出现的问题
由于大家都懂的原因,涉struts2的项目需要将struts2相关包升级至2.3.15.1.今将升级方法和常见问题解决简单总结如下. 一.基本升级操作 1. 获取Struts2.3.15.1jar包 ...