| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*********************************************************************************************************
- * 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_GPIOB);
- rcu_periph_clock_enable(RCU_GPIOA);
- gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_0);
- gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0);
- gpio_bit_reset(GPIOA, GPIO_PIN_0);
- gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_14);
- gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_14);
- gpio_bit_reset(GPIOB, GPIO_PIN_14);
-
- gpio_bit_set(GPIOB, GPIO_PIN_14);
- board->lock = lock;
- board->unlock = unlock;
- }
- static void lock(void)
- {
- gpio_bit_set(GPIOB, GPIO_PIN_14);
- }
- static void unlock(void)
- {
- gpio_bit_reset(GPIOB, GPIO_PIN_14);
- }
|