一、前言

STM32G474RET6,CANFD配置,报文64字节,波特率2M,FDCAN1发送FDCAN2接收,通过USART1打印收发报文进行验证,其中CAN收发芯片为ISO1042。

一、STM32CubeMX配置

1.配置RCC

66b68786b624766e9269d879bf2a84b9.png

2.配置SYS

a49129595f0cc51bc75b1050e124b623.png

3.配置FDCAN(FDCAN2和FDCAN1相同)

589d116fa1b73fdd1fe863bc77c5a1bb.png

3bc6790e147e0a2fe9c44af10295beae.png

4.配置USART1

d9664ce8eebc9b94273fe18c1fdfdb8e.png

二、代码编写

1.FDCAN1发送

f6c48bc0c19430bc64e41fda18ae72f7.png

2.FDCAN2接收

fde4c8e2b4c67dae99ec34aa45036535.png

3.FDCAN2发送

caf3bc7a8a421a8a522ede86e4c2533c.png

4.FDCAN1接收

250bb5c4955a6332591c175fa594e4a2.png

三、测试验证

9ffe61eb38efc6ef02d3ed32aabef9e6.png

四、实物连接示意

0497cb11644f738a51ec18f3b8859bb8.png

五、注意事项

1.CAN收发器 ISO1042 CAN_H/CAN_L端供电5V,TX/RX端供地(T接T R接R)

2.如果是以下配置,只发送3次,且CAN盒端接收数据无

hfdcan1.Init.AutoRetransmission = ENABLE;

hfdcan1.Init.TransmitPause = DISABLE;

hfdcan1.Init.ProtocolException = DISABLE;

3.如果是以下配置,收发芯片CAN_H/CAN_L端供电不足5V,只发18次,且CAN盒端接收数据无

hfdcan1.Init.AutoRetransmission = DISABLE;

hfdcan1.Init.TransmitPause = DISABLE;

hfdcan1.Init.ProtocolException = ENABLE;

六、源码链接

https://download.csdn.net/download/qq_41701596/12836806

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐