| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #include "Relay.h"
- #include "gd32e230x_conf.h"
- static void ConfigRelayGPIO(void); //配置Relay的GPIO
- static void ConfigRelayGPIO(void)
- {
- //使能RCU相关时钟
- rcu_periph_clock_enable(RELAY_RCU);
-
- #if (RelaySlaveChaNum >=1)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_1);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_1);
- gpio_bit_reset(RELAY_GPIO, RELAY_1);
- #endif
- #if (RelaySlaveChaNum >=2)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_2);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_2);
- gpio_bit_reset(RELAY_GPIO, RELAY_2);
- #endif
- #if (RelaySlaveChaNum >=3)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_3);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_3);
- gpio_bit_reset(RELAY_GPIO, RELAY_3);
- #endif
- #if (RelaySlaveChaNum >=4)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_4);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_4);
- gpio_bit_reset(RELAY_GPIO, RELAY_4);
- #endif
-
- #if (RelaySlaveChaNum >=5)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_5);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_5);
- gpio_bit_reset(RELAY_GPIO, RELAY_5);
- #endif
- #if (RelaySlaveChaNum >=6)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_6);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_6);
- gpio_bit_reset(RELAY_GPIO, RELAY_6);
- #endif
- #if (RelaySlaveChaNum >=7)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_7);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_7);
- gpio_bit_reset(RELAY_GPIO, RELAY_7);
- #endif
- #if (RelaySlaveChaNum >=8)
- gpio_mode_set(RELAY_GPIO,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_8);
- gpio_output_options_set(RELAY_GPIO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_8);
- gpio_bit_reset(RELAY_GPIO, RELAY_8);
- #endif
-
-
- }
- /*********************************************************************************************************
- * 函数名称:InitRelay
- * 函数功能:初始化LED模块
- * 输入参数:void
- * 输出参数:void
- * 返 回 值:void
- * 创建日期:2021年07月01日
- * 注 意:
- *********************************************************************************************************/
- void InitRelay(void)
- {
- ConfigRelayGPIO();
- }
- #if SURPPORT_2_2
- void solid_on()
- {
- gpio_bit_set(RELAY_2_4_RCU, RELAY_3);
- gpio_bit_set(RELAY_2_4_RCU, RELAY_4);
- }
- #endif
|