/* USER CODE BEGIN 4 */
// Fonction qui transmet un caractère via UART et le renvoie.Utilisé pour la sortie standard (printf).
int __io_putchar(int ch) {
    HAL_UART_Transmit(&huart2, (uint8_t*) &ch10xFFFF); // Pour Envoyer le caractère via UART
    //ITM_SendChar(ch);                 // Option alternative pour envoyer le caractère via ITM
    return ch;
}
// Fonction de la routine d'interruption pour le bouton B1
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
    // Vérifie si l'interruption provient du bouton B1
    if (GPIO_Pin == B1_Pin) {
        // Inverser l'état de la LED lorsque l'interruption est déclenchée
        ledState = !ledState;
        // Appliquer le nouvel état à la LED
        HAL_GPIO_WritePin(LD2_GPIO_PortLD2_PinledState GPIO_PIN_SET GPIO_PIN_RESET);
        // Affiche l'état de la LED dans le moniteur série
        printf("La LED est %s\r\n"ledState "allumée" "éteinte");
    }
}
/* USER CODE END 4 */