/********************************************************************************************************* * 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 "gd32f30x_libopt.h" static void Config74LvcGPIO(void); #define LOCK_OE GPIO_PIN_3 #define LOCK_LE GPIO_PIN_4 static void Config74LvcGPIO(void) { rcu_periph_clock_enable(RCU_AF); gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE); rcu_periph_clock_enable(RCU_GPIOA); rcu_periph_clock_enable(RCU_GPIOB); gpio_init(GPIOB,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,LOCK_OE); gpio_init(GPIOB,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,LOCK_LE); gpio_bit_reset(GPIOA, LOCK_OE); gpio_bit_reset(GPIOA, LOCK_LE); } void Init74Lvc(void) { Config74LvcGPIO(); } void lock(void) { gpio_bit_set(GPIOB, LOCK_LE); } void unlock(void) { gpio_bit_reset(GPIOB, LOCK_LE); }