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 2 : Ligne 2 :
 
Dans cet atelier, on va regarder comment utiliser des GPIO in pour connecter un bouton poussoir. <br>
 
Dans cet atelier, on va regarder comment utiliser des GPIO in pour connecter un bouton poussoir. <br>
 
Dans notre exemple nous allons utiliser la carte “Nucleo64” de référence “NUCLEO-L476RE”. <br>
 
Dans notre exemple nous allons utiliser la carte “Nucleo64” de référence “NUCLEO-L476RE”. <br>
 +
 +
 +
  uint8_t ButtonPressed = 0;
  
  
Ligne 14 : Ligne 17 :
 
   }
 
   }
 
   HAL_GPIO_WritePin( GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
 
   HAL_GPIO_WritePin( GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
 
 
  
 
== EXTI ==
 
== EXTI ==

Version du 15 décembre 2017 à 18:00

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”.


 uint8_t ButtonPressed = 0;


  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);

EXTI

 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;
  } 
 }