MCU专家 发表于 2025-6-13 08:55:01

《CAN FD升级避坑指南》

《CAN FD升级避坑指南》
经典问题:
[*]波特率切换失败(数据段未生效)
[*]帧校验错误(CRC多项式配置错误)
配置代码:c


复制


下载





CAN_FD_FilterTypeDef filter;filter.IdType = CAN_FD_STANDARD_ID;filter.FilterIndex = 0;filter.FilterConfig = CAN_FD_FILTER_TO_RXFIFO0;HAL_CAN_FD_ConfigFilter(&hcan, &filter);// 必须在新波特率生效后调用
波特率计算工具:python


复制


下载





def calc_can_fd_brp(clk, nom_br, data_br):    nom_prescaler = clk / (nom_br * (1 + 12 + 2))# 标准段    data_prescaler = clk / (data_br * (1 + 5 + 2)) # 数据段    return round(nom_prescaler), round(data_prescaler)




页: [1]
查看完整版本: 《CAN FD升级避坑指南》