Appiko
SDK_EVAL_Button.c
Go to the documentation of this file.
1 
24 /* Includes ------------------------------------------------------------------*/
25 #include "SDK_EVAL_Button.h"
26 #include "SDK_EVAL_Config.h"
27 
28 
100 {
101  BUTTON1_GPIO_CLK();
102 
103  GPIO_InitTypeDef GPIO_InitStructure;
104  GPIO_InitTypeDef EXTI_InitStructure;
105 
106  /* Configures Button pin as input */
107  GPIO_InitStructure.Mode = GPIO_MODE_INPUT;
108  GPIO_InitStructure.Pull = GPIO_NOPULL;
109  GPIO_InitStructure.Pin = BUTTON1_PIN;
110  HAL_GPIO_Init(BUTTON1_GPIO_PORT, &GPIO_InitStructure);
111 
112  if (xButtonMode == BUTTON_MODE_EXTI)
113  {
114  /* Configures Button EXTI line */
115  EXTI_InitStructure.Mode = GPIO_MODE_IT_FALLING;
116  EXTI_InitStructure.Pull = GPIO_NOPULL;
117  EXTI_InitStructure.Pin = BUTTON1_PIN;
118  HAL_GPIO_Init(BUTTON1_GPIO_PORT, &EXTI_InitStructure);
119 
120  HAL_NVIC_SetPriority(BUTTON1_EXTI_IRQn, BUTTON1_IRQ_PREEMPTION_PRIORITY, BUTTON1_IRQ_SUB_PRIORITY);
121  HAL_NVIC_EnableIRQ(BUTTON1_EXTI_IRQn);
122  }
123 }
124 
140 {
141  GPIO_PinState ret = HAL_GPIO_ReadPin(BUTTON1_GPIO_PORT, BUTTON1_PIN);
142  return (FlagStatus)ret;
143 }
144 
145 
161 /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/
SdkEvalButton
Buttons for SDK EVAL enumeration.
This file contains SDK EVAL configuration and useful defines.
void SdkEvalPushButtonInit(SdkEvalButton xButton, SdkEvalButtonMode xButtonMode)
Configures Button GPIO and EXTI Line.
This file contains definitions for Software Development Kit eval board push-buttons.
FlagStatus SdkEvalPushButtonGetState(SdkEvalButton xButton)
Returns the selected Button state.
SdkEvalButtonMode
Button Mode for SDK EVAL enumeration.