From 0b05331fff06db6ef689801dd1884e7067d2dae6 Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Wed, 10 Jun 2026 13:01:43 +0200 Subject: [PATCH] Fix error handling for CAN bus --- Core/Src/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index d3c4ab3..6b9264d 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -445,9 +445,11 @@ void Error_Handler(void) //TODO: check if it is necessary to stop FreeRTOS - uint32_t error_code; - if (hcan == &hcan1) error_code = HAL_CAN_GetError(&hcan1); - else if (hcan == &hcan2) error_code = HAL_CAN_GetError(&hcan2); + uint32_t error_can1 == 0; + uint32_t error_can2 == 0; + + if (HAL_CAN_GetState(&hcan1) != HAL_CAN_STATE_READY) error_code = HAL_CAN_GetError(&hcan1); + else if (HAL_CAN_GetState(&hcan2) != HAL_CAN_STATE_READY) error_code = HAL_CAN_GetError(&hcan2); // TODO: write error to SD and/or serial