2025-05-14 8:27 AM - last edited on 2025-05-14 10:11 AM by mƎALLEm
Dear STMicroelectronics Support,
I am working with the STM32H723ZG-E01 board (Serial: A230801274) and encountering an issue where CAN communication is not functioning as expected.
Based on the documentation, I have configured the FDCAN1 interface to use PD0 (FDCAN1_RX) and PD1 (FDCAN1_TX). The FDCAN peripheral clock is set to 20 MHz. The external transceiver is correctly connected and powered, and the rest of the board appears to function normally.
Despite this setup, no CAN or CAN FD communication is taking place. I would appreciate your help with the following:
Could you please confirm whether PD0 and PD1 are valid and officially supported pins for FDCAN1 on this specific board?
Are there any known limitations, errata, or special configuration requirements for using these pins?
Could you kindly share a sample .ioc configuration file and example code (bare metal or HAL-based) for basic CAN or CAN FD communication on the STM32H723ZG-E01 board?
This would greatly help us verify our setup and ensure we're not missing any critical configuration steps.
Thank you for your assistance.
Best regards,
Kasani Manikanta
Solved! Go to Solution.
2025-05-15 1:58 AM - edited 2025-05-15 4:17 AM
Hello,
Are you sure this is the only hardware you are using?
Where is the CAN transceiver? where is the second node that needs to be connected to the CAN bus? where are the terminating resistors?
And this is what you need as a minimal hardware to establish a successful CAN communication in Normal mode. You need at least two CAN nodes connected together. This is what you need for CAN communication in Normal mode:
This is already explained in the section 3. Hardware setup in the mentioned article. The two nodes should have the same CAN bitrate and you must use an external accurate clock source (example: Crystal). HSI and other internal clock sources are not recommended for CAN operation in Normal mode.
CAN is not SPI or UART to probe the Tx with only one device. You need at least two CAN nodes to ensure the successful operation of the acknowledgement mechanism.
Or simply use External Loopback mode and probe the CAN_Tx pin. In that case you are not obliged to use a second CAN node.
2025-05-15 7:58 AM
WIth the terminator resistor it works. I can now see the Transmission.
But I dont see the reception. I am sending the can frame and dont get the inteerupt hit. ANy idea what can be the problem.
2025-05-15 8:19 AM
Hello,
Please be more specific and provide more details. We cannot help you if you don't share enough information with us:
1 - Please provide a clear sketch of the complete CAN bus: the two nodes + their transceivers + the two terminating resistors.
2 - Share your project, a minimal but with a complete software that can be run from our side.
Without the requested information, I cannot help you further.
Thank you for your understanding.
2025-05-15 9:19 AM
>>But I don't see the reception
It's not listening to itself.. beyond looking for contention, ie where something else steps on the transmission
You really need TWO nodes to transmit between, and acknowledge reception.
2025-05-16 1:10 AM - edited 2025-05-16 1:11 AM
Thanks for your support @mƎALLEm & @Tesla DeLorean - I got the RX interrupt running.
Can you please let me know the clock settings I am using are correct. I have attached the ioc file here.
We will soon work on ADC, SPI & I2c.
2025-05-16 1:14 AM - edited 2025-05-16 1:26 AM
What about the Hardware and the sketch? I cannot go further with you if I don't have a clear view of your hardware.
So please provide a complete view of your CAN bus.
I've attached the ioc file with the correct settings in RCC section.
Did you check if you have 5MHz at the output of STLINK V3 like described in the article How to use STLINK-V3 MCO output on Nucleo boards as a precise clock source for STM32 / section 2. How to get MCU target HSE fed by STLINK-V3 MCO with an accurate clock source ?
2025-05-20 5:57 AM - edited 2025-05-20 6:09 AM
Hello @mƎALLEm ,
I have attached the HW sketch and the IOC file.
Can you please let me know if the clock settings are right.
I am looking for can clock 8Mhhz
BR
Mani
2025-05-20 6:51 AM
Hello,
Are you sure this is the hardware you've adopted?
Tx/Rx transceiver side need to be connected to the STM32, while CAN_H and CAN_L need to be connected to the "CANoe"
2025-05-20 7:02 AM - edited 2025-05-20 7:05 AM
That looks entirely backward.
The CAN_H / CAN_L are the **BUS** side of the interface, the TX/RX is the STM32 side.
CAN_High to CAN_H
CAN_Low to CAN_L
GND to GND, ie common, like to the chassis of the vehicle.
2025-05-20 7:06 AM
hello @mƎALLEm
Yes you are coorect. So you go the picture of the setup.
CAn you check ioc for the clock config where I am looking for can clk with 8Mhz and Input Freq 24Mhz