yc_exti.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * Copyright (c) 2006-2020, YICHIP Development Team
  3. * @file yc_exit.h
  4. * @brief source file for setting exit
  5. *
  6. * Change Logs:
  7. * Date Author Version Notes
  8. * 2021-12-24 yangzhengfeng V1.0.0 Modify the register module configuration
  9. * 2021-01-03 wangjingfan V1.0.1 Compile error correction
  10. */
  11. #ifndef __YC_EXTI_H__
  12. #define __YC_EXTI_H__
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include "yc3122.h"
  17. #include "yc_gpio.h"
  18. /**
  19. * @brief EXTI Trigger enumeration
  20. */
  21. typedef enum
  22. {
  23. EXTI_Trigger_Off = 0,
  24. EXTI_Trigger_HighLev = 1,
  25. EXTI_Trigger_LowLev = 2,
  26. EXTI_Trigger_Rising = 3,
  27. EXTI_Trigger_Falling = 4,
  28. EXTI_Trigger_Rising_Falling = 5,
  29. EXTI_Trigger_DEFAULT_VAL = 0xff
  30. } EXTI_TriggerTypeDef;
  31. #define IS_TRIG_TYPEDEF(TRIGTYPE) ((TRIGTYPE) == EXTI_Trigger_Off || \
  32. (TRIGTYPE) == EXTI_Trigger_HighLev || \
  33. (TRIGTYPE) == EXTI_Trigger_LowLev || \
  34. (TRIGTYPE) == EXTI_Trigger_Rising || \
  35. (TRIGTYPE) == EXTI_Trigger_Falling || \
  36. (TRIGTYPE) == EXTI_Trigger_Rising_Falling)
  37. /**
  38. * @brief EXTI Trigger source
  39. */
  40. typedef enum
  41. {
  42. EXTI_Line_0 = 0,
  43. EXTI_Line_1 = 1,
  44. EXTI_Line_2 = 2,
  45. EXTI_Line_3 = 3,
  46. EXTI_Line_4 = 4,
  47. EXTI_Line_DEFAULT_VAL = 0xff
  48. } EXTI_LineTypeDef;
  49. #define IS_EXTI_LINE(LINE) (((LINE) == EXTI_Line_0) || \
  50. ((LINE) == EXTI_Line_1) || \
  51. ((LINE) == EXTI_Line_2) || \
  52. ((LINE) == EXTI_Line_3) || \
  53. ((LINE) == EXTI_Line_4))
  54. #define IS_EXTI_PIN_SOURCE(PIN) (((((PIN) & ~(uint16_t)0xFFFF)) == 0x00) && ((PIN) != (uint16_t)0x00))
  55. #define EXTI_MODE_TypeDef GPIO_MODULE_TypeDef
  56. #define EXTI_PIN_TypeDef GPIO_Pin_TypeDef
  57. #define EXIT_Num GPIO_PORT_NUM
  58. #define EXIT_Pin_Num GPIO_PIN_NUM
  59. void EXTI_ClearITPendingBit(EXTI_LineTypeDef EXTI_Line, EXTI_PIN_TypeDef EXTI_PinSource);
  60. void EXTI_DeInit(void);
  61. uint16_t EXTI_GetITLineStatus(EXTI_LineTypeDef EXTI_Line);
  62. uint16_t EXTI_GetITEXTI_PinSourceStatus(EXTI_LineTypeDef EXTI_Line, EXTI_PIN_TypeDef EXTI_PinSource);
  63. void EXTI_LineConfig(EXTI_LineTypeDef EXTI_Line, EXTI_PIN_TypeDef EXTI_PinSource, EXTI_TriggerTypeDef EXTI_Trigger);
  64. #ifdef __cplusplus
  65. }
  66. #endif
  67. #endif /* __YC_EXTI_H__ */
  68. /************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/