/********************************************************************************************************* * 模块名称:Key.c * 摘 要:Key模块,进行独立按键初始化,以及按键扫描函数实现 * 当前版本:1.0.0 * 作 者:Leyutek(COPYRIGHT 2018 - 2021 Leyutek. All rights reserved.) * 完成日期:2021年07月01日 * 内 容: * 注 意: ********************************************************************************************************** * 取代版本: * 作 者: * 完成日期: * 修改内容: * 修改文件: *********************************************************************************************************/ /********************************************************************************************************* * 包含头文件 *********************************************************************************************************/ #include "Sn74lvc573.h" #include "gd32e230x_conf.h" /********************************************************************************************************* * 宏定义 *********************************************************************************************************/ /********************************************************************************************************* * 枚举结构体 *********************************************************************************************************/ /********************************************************************************************************* * 内部变量定义 *********************************************************************************************************/ /********************************************************************************************************* * 内部函数声明 *********************************************************************************************************/ static void Config74LvcGPIO(void); //配置按键的GPIO /********************************************************************************************************* * 内部函数实现 *********************************************************************************************************/ /********************************************************************************************************* * 函数名称:ConfigKeyGPIO * 函数功能:配置按键的GPIO * 输入参数:void * 输出参数:void * 返 回 值:void * 创建日期:2021年07月01日 * 注 意: *********************************************************************************************************/ static void Config74LvcGPIO(void) { //使能RCU相关时钟 rcu_periph_clock_enable(RCU_GPIOA); //使能GPIOA的时钟 rcu_periph_clock_enable(RCU_GPIOB); //使能GPIOB的时钟 gpio_mode_set(LOCK_OE_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LOCK_OE); //配置PA0为输出 控制573的使能 gpio_output_options_set(LOCK_OE_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, LOCK_OE); //设置GPIO输出模式及速度 gpio_bit_reset(LOCK_OE_RCU, LOCK_OE); //将LOCK_OE默认状态设置为使能 gpio_mode_set(LOCK_LE_CH_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LOCK_LE); //配置PB14为输出,输出低电平则保持缓存 gpio_output_options_set(LOCK_LE_CH_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, LOCK_LE); //设置GPIO输出模式及速度 LOCK; gpio_mode_set(LOCK_LE_CH_RCU, GPIO_MODE_INPUT, GPIO_PUPD_NONE, LOCK_CHECK); //配置PB12为上拉输入,检测有下载器接入 } /********************************************************************************************************* * API函数实现 *********************************************************************************************************/ /********************************************************************************************************* * 函数名称:InitKeyOne * 函数功能:初始化KeyOne模块 * 输入参数:void * 输出参数:void * 返 回 值:void * 创建日期:2021年07月01日 * 注 意: *********************************************************************************************************/ void Init74Lvc(void) { Config74LvcGPIO(); //配置74LVC573的GPIO }