macro.h
上传用户:wealth48
上传日期:2022-06-24
资源大小:1701k
文件大小:1k
源码类别:

uCOS

开发平台:

C/C++

  1. /***************************************************************************
  2. Copyright (c) 2004-2007 threewater@up-tech.com, All rights reserved.
  3. by threewter 2004.4.26
  4. ***************************************************************************/
  5. /***************************************************************************
  6.     #说明: 常量和宏定义
  7. ----------------------------------  Bug  --------------------------------------
  8. ----------------------------------  TODO list  --------------------------------------
  9. ----------------------------------修正--------------------------------------
  10. 2004-4-26 创建
  11. ***************************************************************************/
  12. #ifndef __MARCO_H__
  13. #define __MARCO_H__
  14. #include "bitfield.h"
  15. #define U32 unsigned int
  16. #define U16 unsigned short
  17. #define S32 int
  18. #define S16 short int
  19. #define U8  unsigned char
  20. #define S8  char
  21. //#define BOOL int
  22. typedef int BOOL;
  23. #define TRUE  1
  24. #define FALSE  0
  25. #define OK 0
  26. #define FAIL -1
  27. #define NULL 0
  28. #define SIZE_1KB 1024ul
  29. #define SIZE_1MB (SIZE_1KB*SIZE_1KB)
  30. #define SIZE_1GB (SIZE_1MB*SIZE_1KB)
  31. #define NumberOfArray(array) (sizeof(array)/sizeof(array[0]))
  32. #define min(x1,x2) ((x1<x2)? x1:x2)
  33. #define max(x1,x2) ((x1>x2)? x1:x2)
  34. #ifndef ABS
  35. #define ABS(a) ((a)>=0?(a):(-(a)))
  36. #endif
  37. //获得number中最低位的1的位置,通过n返回
  38. #define GetPosOfFirstOne(number, n) do{unsigned int tmp=1; for(n=1;(number|tmp)!=number;n++,tmp<<=1);}while(0)
  39. #endif