Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: bsp_stm32Reviewers: @Liang1795 @hamburger-os @wdfk-prog Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2026-03-17 00:05 CST)
📝 Review Instructions
|
|
takuyasaya seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
我在使用stm32H7的fdcan驱动时遇到了无法发送与接收的问题,并且发现没有ISO-CANFD常用的5M速率
你的解决方案是什么 (what is your solution)
1.解决了发送数据时没有对是否进行数据位加速(BRS)进行判断的问题,新增了一个if判断,判断上层传来的pmsg->brs,如果是1,则把TxHeader.BitRateSwitch置为FDCAN_BRS_ON;如果是0,则置为FDCAN_BRS_OFF
2.解决了在数据接收时对数据位数判断错误,原来是直接把RxHeader.DataLength,这样只能传入0-15这几个数,所以需要做对应的转换,比如把15转换成64,代表实际上有64位数据。在开头新增了字节数查询表的函数
4.新增发送延迟补偿配置,防止高速率(>2M)下传输出错
请提供验证的bsp和config (provide the config and bsp)
BSP:
\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_fdcan.c
.config:
https://gitee.com/User_lwh/fes/tree/master/04_Software/04_STM32H7B0/project
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up