ciu32f003_std_common(3).h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /************************************************************************************************/
  2. /**
  3. * @file ciu32f003_std_common.h
  4. * @author MCU Ecosystem Development Team
  5. * @brief STD库通用的相关定义。
  6. *
  7. *
  8. **************************************************************************************************
  9. * @attention
  10. * Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
  11. *
  12. **************************************************************************************************
  13. */
  14. /* 避免头文件重复引用 */
  15. #ifndef CIU32F003_STD_COMMON_H
  16. #define CIU32F003_STD_COMMON_H
  17. /************************************************************************************************/
  18. /**
  19. * @addtogroup CIU32F003_STD_Driver
  20. * @{
  21. */
  22. /**
  23. * @addtogroup STD
  24. * @{
  25. *
  26. */
  27. /************************************************************************************************/
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. /*-----------------------------------------type define------------------------------------------*/
  32. /************************************************************************************************/
  33. /**
  34. * @defgroup STD_Types STD Types
  35. * @brief STD库通用数据类型定义
  36. * @{
  37. *
  38. */
  39. /************************************************************************************************/
  40. /**
  41. * @brief bit位状态定义
  42. */
  43. typedef enum
  44. {
  45. RESET = 0,
  46. SET = !RESET
  47. }bit_status_t;
  48. /**
  49. * @brief STD库API返回值类型定义
  50. */
  51. typedef enum
  52. {
  53. STD_OK = 0x00U,
  54. STD_ERR = 0x01U,
  55. STD_ERR_PARAM = 0x02U,
  56. STD_ERR_BUSY = 0x03U,
  57. STD_ERR_TIMEOUT = 0x04U
  58. } std_status_t;
  59. /**
  60. * @}
  61. */
  62. /*--------------------------------------------define--------------------------------------------*/
  63. /************************************************************************************************/
  64. /**
  65. * @addtogroup STD_Constants
  66. * @{
  67. *
  68. */
  69. /************************************************************************************************/
  70. /* 避免编译警告 */
  71. #define UNUSED(X) (void)X
  72. /* 编译器差异化定义 */
  73. #if defined ( __GNUC__ )
  74. #ifndef __weak
  75. #define __weak __attribute__((weak))
  76. #endif /* __weak */
  77. #ifndef __packed
  78. #define __packed __attribute__((__packed__))
  79. #endif /* __packed */
  80. #endif /* __GNUC__ */
  81. /* bit operations */
  82. #define MODIFY_REG(REG, CLEARMASK, SETMASK) ((REG) = (((REG) & (~(CLEARMASK))) | (SETMASK)))
  83. /**
  84. * @}
  85. */
  86. /*------------------------------------------includes--------------------------------------------*/
  87. #include <stddef.h>
  88. #include <stdbool.h>
  89. #include "ciu32f003.h"
  90. #include "ciu32f003_std.h"
  91. /*-------------------------------------------functions------------------------------------------*/
  92. #ifdef __cplusplus
  93. }
  94. #endif
  95. /**
  96. * @}
  97. */
  98. /**
  99. * @}
  100. */
  101. #endif /* CIU32F003_STD_COMMON_H */