// On reste bloqué ici tant que le bouton est relaché while(HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin) == GPIO_PIN_SET);
// Faire tant que le bouton est appuyé do{ caractere_a_deviner ++; }while(HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin) == GPIO_PIN_RESET);
caractere_a_deviner %= 10; // On limite le nombre généré à la plage {0 ; 9} caractere_a_deviner += '0'; // On convertit le chiffre en caractère
// Affichage du nombre a devenir (commenter ces lignes pour plus de mystere !) ENSI_UART_PutString((uint8_t*)"Valeur a deviner : "); ENSI_UART_PutChar(caractere_a_deviner); ENSI_UART_PutString((uint8_t*)"\r\n");
Sujet 2 (binôme de droite)
Code de lecture du bouton poussoir avec anti-rebond :
while(1) { // Bloqué ici tant que le bouton est relaché while(HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin) == GPIO_PIN_SET);
// Active ou désactive le décompte, selon son état actuel decompte_actif = 1 - decompte_actif;
// Bloqué ici tant que le bouton est appuyé while(HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin) == GPIO_PIN_RESET); }