5 - Utiliser un "bouton poussoir" avec un "GPIO in" : Différence entre versions

De Wiki L.A.B
Aller à : navigation, rechercher
(Utiliser un "bouton poussoir" avec un "GPIO in")
(Utiliser un "bouton poussoir" avec un "GPIO in")
Ligne 14 : Ligne 14 :
 
   }
 
   }
 
   HAL_GPIO_WritePin( GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
 
   HAL_GPIO_WritePin( GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
 +
 +
 +
 +
 +
 +
 +
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 +
{
 +
if ( GPIO_Pin == GPIO_PIN_13 )
 +
{
 +
  GPIO_PinState PinState;
 +
  PinState = HAL_GPIO_ReadPin( GPIOC, GPIO_PIN_13);
 +
  if ( PinState == GPIO_PIN_RESET )
 +
  ButtonPressed = 1;
 +
  else
 +
  ButtonPressed = 0;
 +
}
 +
}

Version du 15 décembre 2017 à 17:57

Utiliser un "bouton poussoir" avec un "GPIO in"

Dans cet atelier, on va regarder comment utiliser des GPIO in pour connecter un bouton poussoir.
Dans notre exemple nous allons utiliser la carte “Nucleo64” de référence “NUCLEO-L476RE”.


  while ( ButtonPressed == 0 )                        // block until button pressed
  {
   GPIO_PinState PinState;
   PinState = HAL_GPIO_ReadPin( GPIOC, GPIO_PIN_13);  // get current state of pin
   if ( PinState == GPIO_PIN_RESET )
    ButtonPressed = 1;
   else
    ButtonPressed = 0;
  }
  HAL_GPIO_WritePin( GPIOA, GPIO_PIN_5, GPIO_PIN_SET);




void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {

if ( GPIO_Pin == GPIO_PIN_13 )
{
 GPIO_PinState PinState;
 PinState = HAL_GPIO_ReadPin( GPIOC, GPIO_PIN_13);
 if ( PinState == GPIO_PIN_RESET )
  ButtonPressed = 1;
 else
  ButtonPressed = 0;
}

}