A case study of a CH32H417 custom board where CAN frames could be transmitted but not received, and the systematic steps that isolated the root cause.
Initial symptom
Because the software works on one board, the most likely suspect is hardware. The next steps are designed to confirm that without guessing.
Step 1: Run loopback modeCH32H417 supports an internal loopback test mode. In this mode the transmitter loops back into the receiver inside the chip, bypassing the transceiver entirely.
If loopback mode receives the frames you send, the CAN peripheral itself is healthy and the problem is almost certainly outside the MCU: transceiver, termination, or power.Step 2: Check the transceiver and its supply
A common cause of one-way CAN behavior is an under-powered transceiver. Many CAN transceivers need 5 V on VCC to drive the dominant state on the bus. Verify:Step 3: Swap the MCU between boards
If the transceiver and supply look correct, swap the CH32H417 chip between the custom board and the official board. If the problem follows the custom board, the issue is still in the surrounding circuitry. If the problem follows the chip, you may have a damaged CAN RX pin or a part with an unnoticed configuration issue.What the official reply confirmed
The WCH support response aligned with this sequence: check the transceiver connection and 5 V supply first, then use loopback mode to decide whether the issue is inside or outside the MCU. Only after those checks should you suspect a chip defect.Takeaways for CH32H417 CAN designs