Files
stm32-cnn/HARDWARE/KEY/key.h
2024-12-19 14:06:05 +08:00

72 lines
3.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _KEY_H
#define _KEY_H
#include "stm32f429_winner.h"
//-----------------------------------------------------------------
// BUTTONÒı½Å¶¨Òå
//-----------------------------------------------------------------
typedef enum
{
BUTTON_KEY1 = 0,
BUTTON_KEY2 = 1,
BUTTON_KEY3 = 2,
BUTTON_KEY4 = 3
}Button_TypeDef;
#define BUTTONn 4
#define BUTTON_KEY1_PIN GPIO_PIN_6
#define BUTTON_KEY1_GPIO_PORT GPIOD
#define BUTTON_KEY1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
#define BUTTON_KEY1_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
#define BUTTON_KEY2_PIN GPIO_PIN_4
#define BUTTON_KEY2_GPIO_PORT GPIOB
#define BUTTON_KEY2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define BUTTON_KEY2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
#define BUTTON_KEY2_EXTI_IRQn EXTI4_IRQn
#define BUTTON_KEY3_PIN GPIO_PIN_6
#define BUTTON_KEY3_GPIO_PORT GPIOB
#define BUTTON_KEY3_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define BUTTON_KEY3_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
#define BUTTON_KEY3_EXTI_IRQn EXTI9_5_IRQn
#define BUTTON_KEY4_PIN GPIO_PIN_9
#define BUTTON_KEY4_GPIO_PORT GPIOB
#define BUTTON_KEY4_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define BUTTON_KEY4_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
#define BUTTON_KEY4_EXTI_IRQn EXTI9_5_IRQn
#define BUTTONx_GPIO_CLK_ENABLE(__INDEX__) do{if((__INDEX__) == 0) BUTTON_KEY1_GPIO_CLK_ENABLE(); else \
if((__INDEX__) == 1) BUTTON_KEY2_GPIO_CLK_ENABLE(); else \
if((__INDEX__) == 1) BUTTON_KEY3_GPIO_CLK_ENABLE(); else \
if((__INDEX__) == 2) BUTTON_KEY4_GPIO_CLK_ENABLE(); \
}while(0)
#define BUTTONx_GPIO_CLK_DISABLE(__INDEX__) do{if((__INDEX__) == 0) BUTTON_KEY1_GPIO_CLK_DISABLE(); else \
if((__INDEX__) == 1) BUTTON_KEY2_GPIO_CLK_DISABLE(); else \
if((__INDEX__) == 1) BUTTON_KEY3_GPIO_CLK_DISABLE(); else \
if((__INDEX__) == 2) BUTTON_KEY4_GPIO_CLK_DISABLE(); \
}while(0)
#define KEY1 HAL_GPIO_ReadPin(BUTTON_KEY1_GPIO_PORT,BUTTON_KEY1_PIN) // KEY1°´¼üPD6
#define KEY2 HAL_GPIO_ReadPin(BUTTON_KEY2_GPIO_PORT,BUTTON_KEY2_PIN) // KEY2°´¼üPB4
#define KEY3 HAL_GPIO_ReadPin(BUTTON_KEY3_GPIO_PORT,BUTTON_KEY3_PIN) // KEY3°´¼üPB6
#define KEY4 HAL_GPIO_ReadPin(BUTTON_KEY4_GPIO_PORT,BUTTON_KEY4_PIN) // KEY4°´¼üPB9
#define KEY1_PRES 1 // K1¼üÖµ
#define KEY2_PRES 2 // K2¼üÖµ
#define KEY3_PRES 3 // K3¼üÖµ
#define KEY4_PRES 4 // K4¼üÖµ
//-----------------------------------------------------------------
// Íⲿº¯ÊıÉùÃ÷
//-----------------------------------------------------------------
extern void KEY_Init(void);
extern void BSP_KEY_Init(Button_TypeDef button);
extern u8 KEY_Scan(u8 mode);
//-----------------------------------------------------------------
#endif
//-----------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------