/********************************************************************************************************* * Module : lock * Abstract : * Version : 1.0.0 * Author : Leopul(COPYRIGHT 2025 ~ 2027 Leopul. All rights reserved.) * Complete : 2025-04-09 * Content : None * Note : None *********************************************************************************************************/ #include "lock.h" #include "gd32e23x.h" #include "common.h" static void lock(void); static void unlock(void); void lock_init(void) { board_t * board = get_board(); rcu_periph_clock_enable(RCU_GPIOF); gpio_mode_set(GPIOF, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_6 | GPIO_PIN_7); gpio_output_options_set(GPIOF, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6 | GPIO_PIN_7); gpio_bit_reset(GPIOF, GPIO_PIN_6); gpio_bit_set(GPIOF, GPIO_PIN_7); board->lock = lock; board->unlock = unlock; } static void lock(void) { gpio_bit_set(GPIOF, GPIO_PIN_7); } static void unlock(void) { gpio_bit_reset(GPIOF, GPIO_PIN_7); }