/* 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*) &ch, 1, 0xFFFF); // 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_Port, LD2_Pin, ledState ? 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 */