2017-08-17 04:48 AM
Hello,
I tried the example 'FDCAN_Com_polling' on STM32H743I-EVAL, it worked like it should be.
Then I separated the example code into TX part and RX part, made one of my
STM32H743I-EVAL board as TX and another as RX, but the RX did not work, it never received anything and the HAL_FDCAN_GetRxFifoFillLevel always get 0.
All jumpers and SBs on the EVAL board were removed or connected following the instructions on the EVAL's reference manual, and I checked the waveform on the RX side and it seems correct.
The filter setting should be good as well because the TX side can receive its own loop back frame by using the same filter settings.
Any hint what went wrong or which part should check next?
Thanks in advance.
#fdcan #stm32h7Solved! Go to Solution.
2017-08-17 07:03 PM
It turns out that the FDCAN_CCCR_TEST bit was set and never been cleared.
It seems that once the FDCAN is initialized into LoopBack mode, the
FDCAN_CCCR_TEST bit is set and no HAL api can clear it. Not even after the FDCAN was DeInit and re-Init again. I think it is a bug in the HAL and hope it will be fixed.
2017-08-17 06:57 AM
Hi
aaron_chang
,Is the same example tested successfully with the 2nd eval-board?
Do you have always same issue on RX side if you switch the used boards?
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2017-08-17 08:10 AM
Hi again
aaron_chang
,Please note that you can get further dedicated support from your local FAE to more understand what is going wrong.
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2017-08-17 09:21 AM
Hi Amel,
Each board runs the example can send out frames correctly (I can see the waveform on scope) and receive the loop back frame.
But neither of them can receive frames from the other.
I'm assuming the loop back frame was passed through an internal path rather than through the PCB, because I ever removed a jumper to isolated
the TX port, and it still received the loop back frame.
-Aaron
2017-08-17 07:03 PM
It turns out that the FDCAN_CCCR_TEST bit was set and never been cleared.
It seems that once the FDCAN is initialized into LoopBack mode, the
FDCAN_CCCR_TEST bit is set and no HAL api can clear it. Not even after the FDCAN was DeInit and re-Init again. I think it is a bug in the HAL and hope it will be fixed.
2019-04-29 06:50 AM
Hello,
Please note that this issue is fixed in the latest STM32CubeH7 package (Version 1.4.0, available on the web since last week).
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.