| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /*********************************************************************************************************
- * Module : Sn74lvc573.c
- * Abstract : Sn74lvc573 modules,used to relay locked or unlock IO !
- * Version : 1.0.0
- * Author : Leopul(COPYRIGHT 2025 - 2027 Leopul. All rights reserved.)
- * Complete : 2025-02-16
- * Content : None
- * Note : None
- *********************************************************************************************************/
- #include "Sn74lvc573.h"
- #include "gd32e230x_conf.h"
- static void Config74LvcGPIO(void);
- #define LOCK_OE GPIO_PIN_15
- #define LOCK_LE GPIO_PIN_5
- #define LOCK_CHECK GPIO_PIN_14
- static void Config74LvcGPIO(void)
- {
- rcu_periph_clock_enable(RCU_GPIOA);
- rcu_periph_clock_enable(RCU_GPIOB);
-
- gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LOCK_OE);
- gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, LOCK_OE);
- gpio_bit_reset(GPIOA, LOCK_OE);
-
- gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LOCK_LE);
- gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, LOCK_LE);
-
- gpio_mode_set(GPIOB, GPIO_MODE_INPUT, GPIO_PUPD_NONE, LOCK_CHECK);
- }
- void Init74Lvc(void)
- {
- Config74LvcGPIO();
- }
- void lock(void)
- {
- gpio_bit_set(GPIOB, LOCK_LE);
- }
- void unlock(void)
- {
- gpio_bit_reset(GPIOB, LOCK_LE);
- }
|