Relay.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /*********************************************************************************************************
  2. * 模块名称:Relay.h
  3. * 摘 要:Relay模块
  4. * 当前版本:1.0.0
  5. * 作 者:Leyutek(COPYRIGHT 2018 - 2021 Leyutek. All rights reserved.)
  6. * 完成日期:2021年07月01日
  7. * 内 容:
  8. * 注 意:
  9. **********************************************************************************************************
  10. * 取代版本:
  11. * 作 者:
  12. * 完成日期:
  13. * 修改内容:
  14. * 修改文件:
  15. *********************************************************************************************************/
  16. #ifndef _RELAY_H_
  17. #define _RELAY_H_
  18. #include "Main.h"
  19. /*********************************************************************************************************
  20. * 包含头文件
  21. *********************************************************************************************************/
  22. /*********************************************************************************************************
  23. * 宏定义
  24. *********************************************************************************************************/
  25. #if ACSingPhSmaCurr
  26. #if ACSingPhSmaCurrNew
  27. #define RELAY_1_RCU RCU_GPIOA
  28. #define RELAY_2_6_RCU RCU_GPIOB
  29. #define RELAY_1_IO GPIOA
  30. #define RELAY_2_6_IO GPIOB
  31. #define RELAY_1 GPIO_PIN_15
  32. #define RELAY_2 GPIO_PIN_3
  33. #define RELAY_3 GPIO_PIN_4
  34. #define RELAY_4 GPIO_PIN_5
  35. #define RELAY_5 GPIO_PIN_6
  36. #define RELAY_6 GPIO_PIN_7
  37. #define RELAY_1_OFF gpio_bit_reset(RELAY_1_IO, RELAY_1)
  38. #define RELAY_1_ON gpio_bit_set(RELAY_1_IO, RELAY_1)
  39. #define RELAY_2_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_2)
  40. #define RELAY_2_ON gpio_bit_set(RELAY_2_6_IO, RELAY_2)
  41. #define RELAY_3_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_3)
  42. #define RELAY_3_ON gpio_bit_set(RELAY_2_6_IO, RELAY_3)
  43. #define RELAY_4_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_4)
  44. #define RELAY_4_ON gpio_bit_set(RELAY_2_6_IO, RELAY_4)
  45. #define RELAY_5_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_5)
  46. #define RELAY_5_ON gpio_bit_set(RELAY_2_6_IO, RELAY_5)
  47. #define RELAY_6_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_6)
  48. #define RELAY_6_ON gpio_bit_set(RELAY_2_6_IO, RELAY_6)
  49. #else
  50. #define RELAY_8_RCU GPIOA
  51. #define RELAY_1_7_RCU GPIOB
  52. #define RELAY_8 GPIO_PIN_15 //靠近单片机那边是继电器8
  53. #define RELAY_7 GPIO_PIN_3
  54. #define RELAY_6 GPIO_PIN_4
  55. #define RELAY_5 GPIO_PIN_5
  56. #define RELAY_4 GPIO_PIN_6
  57. #define RELAY_3 GPIO_PIN_7
  58. #define RELAY_2 GPIO_PIN_8
  59. #define RELAY_1 GPIO_PIN_9 //靠近电压互感器那边是继电器1
  60. #define RELAY_1_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_1) // 输出低电平
  61. #define RELAY_1_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_1) // 输出高电平
  62. #define RELAY_2_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_2) // 输出低电平
  63. #define RELAY_2_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_2) // 输出高电平
  64. #define RELAY_3_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_3) // 输出低电平
  65. #define RELAY_3_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_3) // 输出高电平
  66. #define RELAY_4_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_4) // 输出低电平
  67. #define RELAY_4_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_4) // 输出高电平
  68. #define RELAY_5_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_5) // 输出低电平
  69. #define RELAY_5_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_5) // 输出高电平
  70. #define RELAY_6_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_6) // 输出低电平
  71. #define RELAY_6_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_6) // 输出高电平
  72. #define RELAY_7_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_7) // 输出低电平
  73. #define RELAY_7_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_7) // 输出高电平
  74. #define RELAY_8_OFF gpio_bit_reset(RELAY_8_RCU, RELAY_8) // 输出低电平
  75. #define RELAY_8_ON gpio_bit_set(RELAY_8_RCU,RELAY_8) // 输出高电平
  76. #endif
  77. #endif
  78. #if ACSingPhHigCurr
  79. #define RELAY_1_RCU GPIOA
  80. #define RELAY_2_4_RCU GPIOB
  81. #define RELAY_4 GPIO_PIN_5 //靠近电压互感器那边是继电器4
  82. #define RELAY_3 GPIO_PIN_4
  83. #define RELAY_2 GPIO_PIN_3
  84. #define RELAY_1 GPIO_PIN_15 //靠近单片机那边是继电器1
  85. #define RELAY_1_OFF gpio_bit_reset(RELAY_1_RCU, RELAY_1) // 输出低电平
  86. #define RELAY_1_ON gpio_bit_set(RELAY_1_RCU,RELAY_1) // 输出高电平
  87. #define RELAY_2_OFF gpio_bit_reset(RELAY_2_4_RCU, RELAY_2) // 输出低电平
  88. #define RELAY_2_ON gpio_bit_set(RELAY_2_4_RCU,RELAY_2) // 输出高电平
  89. #define RELAY_3_OFF gpio_bit_reset(RELAY_2_4_RCU, RELAY_3) // 输出低电平
  90. #define RELAY_3_ON gpio_bit_set(RELAY_2_4_RCU,RELAY_3) // 输出高电平
  91. #define RELAY_4_OFF gpio_bit_reset(RELAY_2_4_RCU, RELAY_4) // 输出低电平
  92. #define RELAY_4_ON gpio_bit_set(RELAY_2_4_RCU,RELAY_4) // 输出高电平
  93. #endif
  94. /*********************************************************************************************************
  95. * 枚举结构体
  96. *********************************************************************************************************/
  97. /*********************************************************************************************************
  98. * API函数声明
  99. *********************************************************************************************************/
  100. void InitRelay(void); //初始化Relay模块
  101. #endif