-
Notifications
You must be signed in to change notification settings - Fork 1k
FDCAN bus interrupts are not handled for the STM32G0B1 causing an infinite loop #2224
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Labels
enhancement
New feature or request
Comments
Hi @rondlh |
fpistm
added a commit
to fpistm/Arduino_Core_STM32
that referenced
this issue
Mar 11, 2024
Application have to declare the phfdcan1 and phfdcan2. Example: FDCAN_HandleTypeDef myhfdcan1; FDCAN_HandleTypeDef *phfdcan1 = &myhfdcan1; #if defined(FDCAN2_BASE) FDCAN_HandleTypeDef *phfdcan2 = NULL; #endif Fixes stm32duino#2224. Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
fpistm
added a commit
to fpistm/Arduino_Core_STM32
that referenced
this issue
Mar 11, 2024
Application have to declare the phfdcan1 and phfdcan2. Example: FDCAN_HandleTypeDef myhfdcan1; FDCAN_HandleTypeDef *phfdcan1 = &myhfdcan1; #if defined(FDCAN2_BASE) FDCAN_HandleTypeDef *phfdcan2 = NULL; #endif Fixes stm32duino#2224. Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
fpistm
added a commit
that referenced
this issue
Mar 12, 2024
Application have to declare the phfdcan1 and phfdcan2. Example: FDCAN_HandleTypeDef myhfdcan1; FDCAN_HandleTypeDef *phfdcan1 = &myhfdcan1; #if defined(FDCAN2_BASE) FDCAN_HandleTypeDef *phfdcan2 = NULL; #endif Fixes #2224. Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
tadtruex
pushed a commit
to TadAtThayer/Arduino_Core_STM32
that referenced
this issue
Apr 23, 2024
Application have to declare the phfdcan1 and phfdcan2. Example: FDCAN_HandleTypeDef myhfdcan1; FDCAN_HandleTypeDef *phfdcan1 = &myhfdcan1; #if defined(FDCAN2_BASE) FDCAN_HandleTypeDef *phfdcan2 = NULL; #endif Fixes stm32duino#2224. Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
With my limited understanding I see the following:
The FDCAN implementation on the STM32G0B1 uses interrupt "TIM16_FDCAN_IT0_IRQn", which calls "TIM16_IRQHandler(void)" (in HardwareTimer.cpp).
In "timer.h" it says: #define TIM16_IRQHandler TIM16_FDCAN_IT0_IRQHandler.
"TIM16_IRQHandler" should analyze the interrupt source and forward to "HAL_FDCAN_IRQHandler" if the FDCAN bus is the interrupt source so the FDCAN callbacks can be used/called.
Currently TIM16_IRQHandler only processes interrupts triggered by Tim16, so the FDCAN bus callbacks cannot be used, and even worse, the interrupt flag is not cleared causing an infinite loop.
"TIM16_IRQHandler" in HardwareTimer.cpp
The text was updated successfully, but these errors were encountered: