| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- /*********************************************************************************************************
- * 模块名称:Sn74hc573.c
- * 摘 要:Key模块,进行独立按键初始化,以及按键扫描函数实现
- * 当前版本:1.0.0
- * 作 者:anycrying
- * 完成日期:2024年04月11日
- * 内 容:
- * 注 意:
- **********************************************************************************************************
- * 取代版本:
- * 作 者:
- * 完成日期:
- * 修改内容:
- * 修改文件:
- *********************************************************************************************************/
- /*********************************************************************************************************
- * 包含头文件
- *********************************************************************************************************/
- #include "Sn74hc573.h"
- #include "gd32e230x_conf.h"
- /*********************************************************************************************************
- * 宏定义
- *********************************************************************************************************/
- /*********************************************************************************************************
- * 枚举结构体
- *********************************************************************************************************/
- /*********************************************************************************************************
- * 内部变量定义
- *********************************************************************************************************/
- /*********************************************************************************************************
- * 内部函数声明
- *********************************************************************************************************/
- static void Config74hc573GPIO(void); //配置按键的GPIO
- /*********************************************************************************************************
- * 内部函数实现
- *********************************************************************************************************/
- /*********************************************************************************************************
- * 函数名称:Config74hc573GPIO
- * 函数功能:配置74hc573端口
- * 输入参数:void
- * 输出参数:void
- * 返 回 值:void
- * 创建日期:2024年04月11日
- * 注 意:
- *********************************************************************************************************/
- static void Config74hc573GPIO(void)
- {
- //使能RCU相关时钟
- rcu_periph_clock_enable(LOCK_74hc573_RCU); //使能GPIOF的时钟
- rcu_periph_clock_enable(LOCK_74hc573_RCU); //使能GPIOC的时钟
-
- gpio_mode_set(LOCK_74hc573_IO, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, LOCK_74hc573_OE); //配置PF6为输出 控制573的使能
- gpio_output_options_set(LOCK_74hc573_IO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, LOCK_74hc573_OE); //设置GPIO输出模式及速度
- gpio_bit_reset(LOCK_74hc573_IO, LOCK_74hc573_OE); //将LOCK_74hc573_OE默认状态设置为不使能
-
- gpio_mode_set(LOCK_74hc573_IO, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLDOWN, LOCK_74hc573_LE); //配置PF7为输出,输出低电平则保持缓存
- gpio_output_options_set(LOCK_74hc573_IO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, LOCK_74hc573_LE); //设置GPIO输出模式及速度
- BUFF_Data;
- gpio_mode_set(CHECK_JLINK_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, CHECK_JLINK_IN); //配置PC14为上拉输入,检测有下载器接入
- }
- /*********************************************************************************************************
- * API函数实现
- *********************************************************************************************************/
- /*********************************************************************************************************
- * 函数名称:Init_74hc573
- * 函数功能:初始化74hc573模块
- * 输入参数:void
- * 输出参数:void
- * 返 回 值:void
- * 创建日期:2024年04月11日
- * 注 意:
- *********************************************************************************************************/
- void Init_74hc573(void)
- {
- Config74hc573GPIO(); //配置74HC573的GPIO
- }
- /*********************************************************************************************************
- * 函数名称:Write_74hc573
- * 函数功能:锁存输出数据
- * 输入参数:void
- * 输出参数:void
- * 返 回 值:void
- * 创建日期:2024年04月11日
- * 注 意:
- *********************************************************************************************************/
- void Write_74hc573(void)
- {
- uint8_t i = 0;
- BUFF_Data;
- LOCK_Data;
- for(i = 0;i < 72;i++);
- BUFF_Data;
- }
|