2023-09-23 06:18 PM
hi, I'm using a discovery stm32f429 together with the STM32CubeIDE
I would like to know why when I use while to wait for the mailbox:
while (HAL_CAN_GetTxMailboxesFreeLevel(&hcan1) != 3)
{
// Wait until all transmission buffers are free
}
the debug does not work and gives an error:
Failed to assign value 8000c69, to register 0
Failed to assign value 20000028, to register 0
Failed to assign value 2002fff8, to register 0
Failed to assign value 80011d4, to register 0
If I use the command HAL_CAN_GetTxMailboxesFreeLevel it works normally or if I use RUN it works normally on the board, but I would like it to work in debug to see some information through the STM32CubeIDE
Solved! Go to Solution.
2023-09-25 08:48 PM
My understanding is you can have a global variable in expression not a function.
2023-09-24 06:13 AM
My understanding is when in debug mode some of the features like CAN may not work as the timing of the CAN protocol may expire.
2023-09-25 02:13 PM - edited 2023-09-25 03:02 PM
Thanks for the answer. From the test I did, if I run the debug run(Resume) and put HAL_CAN_GetTxMailboxesFreeLevel in the live expression it gives this error
If I remove it from live expression to run (Resume) it works normally
Why does this happen is it a bug?
2023-09-25 08:48 PM
My understanding is you can have a global variable in expression not a function.
2023-09-26 01:36 PM
It seems like that's right, create a global variable being the function and it didn't give that error when reading the expression