mirror of
https://github.com/IcedRooibos/py32f0-template.git
synced 2025-10-29 00:42:06 -07:00
65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
/**
|
|
******************************************************************************
|
|
* @file py32f0xx_bsp_button.h
|
|
* @author MCU Application Team
|
|
* @brief
|
|
******************************************************************************
|
|
*/
|
|
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
#ifndef PY32F0XX_BSP_BUTTON_H
|
|
#define PY32F0XX_BSP_BUTTON_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
|
|
#include "py32f0xx_hal.h"
|
|
|
|
typedef enum
|
|
{
|
|
BUTTON_USER = 0,
|
|
/* Alias */
|
|
BUTTON_KEY = BUTTON_USER
|
|
} Button_TypeDef;
|
|
|
|
typedef enum
|
|
{
|
|
BUTTON_MODE_GPIO = 0,
|
|
BUTTON_MODE_EXTI = 1
|
|
} ButtonMode_TypeDef;
|
|
|
|
#define BUTTONn 1
|
|
|
|
/**
|
|
* @brief User push-button
|
|
*/
|
|
#define USER_BUTTON_PIN GPIO_PIN_12
|
|
#define USER_BUTTON_GPIO_PORT GPIOA
|
|
#define USER_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
|
|
#define USER_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
|
|
#define USER_BUTTON_EXTI_IRQn EXTI4_15_IRQn
|
|
|
|
/* Aliases */
|
|
#define KEY_BUTTON_PIN USER_BUTTON_PIN
|
|
#define KEY_BUTTON_GPIO_PORT USER_BUTTON_GPIO_PORT
|
|
#define KEY_BUTTON_GPIO_CLK_ENABLE() USER_BUTTON_GPIO_CLK_ENABLE()
|
|
#define KEY_BUTTON_GPIO_CLK_DISABLE() USER_BUTTON_GPIO_CLK_DISABLE()
|
|
#define KEY_BUTTON_EXTI_IRQn USER_BUTTON_EXTI_IRQn
|
|
|
|
#define BUTTONx_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == 0) USER_BUTTON_GPIO_CLK_ENABLE();} while(0)
|
|
#define BUTTONx_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? USER_BUTTON_GPIO_CLK_DISABLE() : 0)
|
|
|
|
|
|
void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode);
|
|
void BSP_PB_DeInit(Button_TypeDef Button);
|
|
uint32_t BSP_PB_GetState(Button_TypeDef Button);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* PY32F0XX_BSP_BUTTON_H */
|