typedefine.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #ifndef __TYPEDEFINE_H__
  2. #define __TYPEDEFINE_H__
  3. #include "stdint.h"
  4. typedef union {
  5. struct
  6. {
  7. unsigned char b0:1;
  8. unsigned char b1:1;
  9. unsigned char b2:1;
  10. unsigned char b3:1;
  11. unsigned char b4:1;
  12. unsigned char b5:1;
  13. unsigned char b6:1;
  14. unsigned char b7:1;
  15. }bits;
  16. unsigned char value;
  17. unsigned char bytes[1];
  18. } byte_bits_t;
  19. typedef union {
  20. struct
  21. {
  22. unsigned char b0:1;
  23. unsigned char b1:1;
  24. unsigned char b2:1;
  25. unsigned char b3:1;
  26. unsigned char b4:1;
  27. unsigned char b5:1;
  28. unsigned char b6:1;
  29. unsigned char b7:1;
  30. unsigned char b8:1;
  31. unsigned char b9:1;
  32. unsigned char b10:1;
  33. unsigned char b11:1;
  34. unsigned char b12:1;
  35. unsigned char b13:1;
  36. unsigned char b14:1;
  37. unsigned char b15:1;
  38. } bits;
  39. unsigned short value;
  40. unsigned char bytes[2];
  41. } word_bits_t;
  42. typedef union {
  43. struct
  44. {
  45. unsigned char b0:1;
  46. unsigned char b1:1;
  47. unsigned char b2:1;
  48. unsigned char b3:1;
  49. unsigned char b4:1;
  50. unsigned char b5:1;
  51. unsigned char b6:1;
  52. unsigned char b7:1;
  53. unsigned char b8:1;
  54. unsigned char b9:1;
  55. unsigned char b10:1;
  56. unsigned char b11:1;
  57. unsigned char b12:1;
  58. unsigned char b13:1;
  59. unsigned char b14:1;
  60. unsigned char b15:1;
  61. unsigned char b16:1;
  62. unsigned char b17:1;
  63. unsigned char b18:1;
  64. unsigned char b19:1;
  65. unsigned char b20:1;
  66. unsigned char b21:1;
  67. unsigned char b22:1;
  68. unsigned char b23:1;
  69. unsigned char b24:1;
  70. unsigned char b25:1;
  71. unsigned char b26:1;
  72. unsigned char b27:1;
  73. unsigned char b28:1;
  74. unsigned char b29:1;
  75. unsigned char b30:1;
  76. unsigned char b31:1;
  77. } bits;
  78. unsigned int value;
  79. unsigned char bytes[4];
  80. } dword_bits_t;
  81. typedef volatile uint32_t vu32;
  82. typedef volatile uint16_t vu16;
  83. typedef volatile uint8_t vu8;
  84. //#define NULL (void *)0
  85. #endif