Relay.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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 "board_cfg.h"
  19. #include "Main.h"
  20. #include "stdint.h"
  21. /*********************************************************************************************************
  22. * 包含头文件
  23. *********************************************************************************************************/
  24. /*********************************************************************************************************
  25. * 宏定义
  26. *********************************************************************************************************/
  27. #if (RelaySlaveChaNum == 6)
  28. #define RELAY_1_RCU RCU_GPIOA
  29. #define RELAY_2_6_RCU RCU_GPIOB
  30. #define RELAY_1_IO GPIOA
  31. #define RELAY_2_6_IO GPIOB
  32. #define RELAY_1 GPIO_PIN_15
  33. #define RELAY_2 GPIO_PIN_3
  34. #define RELAY_3 GPIO_PIN_4
  35. #define RELAY_4 GPIO_PIN_5
  36. #define RELAY_5 GPIO_PIN_6
  37. #define RELAY_6 GPIO_PIN_7
  38. #define RELAY_1_OFF gpio_bit_reset(RELAY_1_IO, RELAY_1)
  39. #define RELAY_1_ON gpio_bit_set(RELAY_1_IO, RELAY_1)
  40. #define RELAY_2_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_2)
  41. #define RELAY_2_ON gpio_bit_set(RELAY_2_6_IO, RELAY_2)
  42. #define RELAY_3_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_3)
  43. #define RELAY_3_ON gpio_bit_set(RELAY_2_6_IO, RELAY_3)
  44. #define RELAY_4_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_4)
  45. #define RELAY_4_ON gpio_bit_set(RELAY_2_6_IO, RELAY_4)
  46. #define RELAY_5_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_5)
  47. #define RELAY_5_ON gpio_bit_set(RELAY_2_6_IO, RELAY_5)
  48. #define RELAY_6_OFF gpio_bit_reset(RELAY_2_6_IO, RELAY_6)
  49. #define RELAY_6_ON gpio_bit_set(RELAY_2_6_IO, RELAY_6)
  50. #elif (RelaySlaveChaNum <= 4 && (!SUPPORT_TWIN_FIRE))
  51. #define RELAY_1_RCU GPIOA
  52. #define RELAY_2_4_RCU GPIOB
  53. #define RELAY_4 GPIO_PIN_5 //靠近电压互感器那边是继电器4
  54. #define RELAY_3 GPIO_PIN_4
  55. #define RELAY_2 GPIO_PIN_3
  56. #define RELAY_1 GPIO_PIN_15 //靠近单片机那边是继电器1
  57. #define RELAY_1_OFF gpio_bit_reset(RELAY_1_RCU, RELAY_1) // 输出低电平
  58. #define RELAY_1_ON gpio_bit_set(RELAY_1_RCU,RELAY_1) // 输出高电平
  59. #define RELAY_2_OFF gpio_bit_reset(RELAY_2_4_RCU, RELAY_2) // 输出低电平
  60. #define RELAY_2_ON gpio_bit_set(RELAY_2_4_RCU,RELAY_2) // 输出高电平
  61. #define RELAY_3_OFF gpio_bit_reset(RELAY_2_4_RCU, RELAY_3) // 输出低电平
  62. #define RELAY_3_ON gpio_bit_set(RELAY_2_4_RCU,RELAY_3) // 输出高电平
  63. #define RELAY_4_OFF gpio_bit_reset(RELAY_2_4_RCU, RELAY_4) // 输出低电平
  64. #define RELAY_4_ON gpio_bit_set(RELAY_2_4_RCU,RELAY_4) // 输出高电平
  65. #else
  66. #define RELAY_8_RCU GPIOA
  67. #define RELAY_1_7_RCU GPIOB
  68. #define RELAY_8 GPIO_PIN_15 //靠近单片机那边是继电器8
  69. #define RELAY_7 GPIO_PIN_3
  70. #define RELAY_6 GPIO_PIN_4
  71. #define RELAY_5 GPIO_PIN_5
  72. #define RELAY_4 GPIO_PIN_6
  73. #define RELAY_3 GPIO_PIN_7
  74. #define RELAY_2 GPIO_PIN_8
  75. #define RELAY_1 GPIO_PIN_9 //靠近电压互感器那边是继电器1
  76. #define RELAY_1_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_1) // 输出低电平
  77. #define RELAY_1_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_1) // 输出高电平
  78. #define RELAY_2_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_2) // 输出低电平
  79. #define RELAY_2_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_2) // 输出高电平
  80. #define RELAY_3_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_3) // 输出低电平
  81. #define RELAY_3_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_3) // 输出高电平
  82. #define RELAY_4_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_4) // 输出低电平
  83. #define RELAY_4_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_4) // 输出高电平
  84. #define RELAY_5_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_5) // 输出低电平
  85. #define RELAY_5_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_5) // 输出高电平
  86. #define RELAY_6_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_6) // 输出低电平
  87. #define RELAY_6_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_6) // 输出高电平
  88. #define RELAY_7_OFF gpio_bit_reset(RELAY_1_7_RCU, RELAY_7) // 输出低电平
  89. #define RELAY_7_ON gpio_bit_set(RELAY_1_7_RCU,RELAY_7) // 输出高电平
  90. #define RELAY_8_OFF gpio_bit_reset(RELAY_8_RCU, RELAY_8) // 输出低电平
  91. #define RELAY_8_ON gpio_bit_set(RELAY_8_RCU,RELAY_8) // 输出高电平
  92. #endif
  93. void InitRelay(void); //初始化Relay模块
  94. #if SURPPORT_2_2
  95. void solid_on();
  96. #endif
  97. #endif