《CAN FD升级避坑指南》

0
回复
123
查看
[ 复制链接 ]

45

主题

7

回帖

185

积分

注册会员

积分
185
2025-6-13 08:55:01 显示全部楼层 阅读模式
《CAN FD升级避坑指南》
经典问题:
  • 波特率切换失败(数据段未生效)
  • 帧校验错误(CRC多项式配置错误)

配置代码:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





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);  // 必须在新波特率生效后调用
波特率计算工具:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]python
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





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)




收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则