Sn74hc573.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*********************************************************************************************************
  2. * 模块名称:Key.h
  3. * 摘 要:Key模块,进行独立按键初始化,以及按键扫描函数实现
  4. * 当前版本:1.0.0
  5. * 作 者:anycrying
  6. * 完成日期:2024年04月11日
  7. * 内 容:
  8. * 注 意:
  9. **********************************************************************************************************
  10. * 取代版本:
  11. * 作 者:
  12. * 完成日期:
  13. * 修改内容:
  14. * 修改文件:
  15. *********************************************************************************************************/
  16. #ifndef _SN74HC573_H_
  17. #define _SN74HC573_H_
  18. /*********************************************************************************************************
  19. * 包含头文件
  20. *********************************************************************************************************/
  21. #include "gd32e230x_conf.h"
  22. #include <stdbool.h>
  23. /*********************************************************************************************************
  24. * 宏定义
  25. *********************************************************************************************************/
  26. #define delay_t 50
  27. #define LK_FalseLed_D 2
  28. #define LK_74hc573_OE_RCU RCU_GPIOA
  29. #define LK_74hc573_LE_RCU RCU_GPIOB
  30. #define CHK_JLINK_RCU RCU_GPIOB
  31. #define LK_74hc573_OE_IO GPIOA
  32. #define LK_74hc573_LE_IO GPIOB
  33. #define CHK_JLINK_IO GPIOB
  34. #define LK_74hc573_OE GPIO_PIN_0
  35. #define LK_74hc573_LE GPIO_PIN_14
  36. #define CHECK_JLINK_IN GPIO_PIN_12
  37. #define Enable_74hc573_Output gpio_bit_reset(LK_74hc573_OE_IO, LK_74hc573_OE)
  38. #define Disable_74hc573_Output gpio_bit_set(LK_74hc573_OE_IO, LK_74hc573_OE)
  39. //因为有或非,所以要反向
  40. #define LOCK_Data gpio_bit_reset(LK_74hc573_LE_IO, LK_74hc573_LE)
  41. #define BUFF_Data gpio_bit_set(LK_74hc573_LE_IO, LK_74hc573_LE)
  42. //#define LOCK1_Data gpio_bit_reset(LK_74hc573_LE_IO, LK_74hc573_LE1)
  43. //#define BUFF1_Data gpio_bit_set(LK_74hc573_LE_IO, LK_74hc573_LE1)
  44. //#define LOCK2_Data gpio_bit_reset(LK_74hc573_LE_IO, LK_74hc573_LE2)
  45. //#define BUFF2_Data gpio_bit_set(LK_74hc573_LE_IO, LK_74hc573_LE2)
  46. //#define LOCK3_Data gpio_bit_reset(LK_74hc573_LE_IO, LK_74hc573_LE3)
  47. //#define BUFF3_Data gpio_bit_set(LK_74hc573_LE_IO, LK_74hc573_LE3)
  48. /*********************************************************************************************************
  49. * 枚举结构体
  50. *********************************************************************************************************/
  51. /*********************************************************************************************************
  52. * API函数声明
  53. *********************************************************************************************************/
  54. void Init_74hc573(void); //初始化74hc573的IO
  55. void Write_74hc573(uint8_t Dev,uint16_t db);
  56. bool Chk_Jlink_conn(void);
  57. #endif