当波特率在1000时CAN工作不正常

[复制链接]
1892|17
 楼主| 一点点0321 发表于 2022-11-20 14:38 | 显示全部楼层 |阅读模式
STM32F103 HAL库移植到GD32F103 当波特率在1000时CAN工作不正常



最近在开发GD32的芯片,发现STM32F103 HAL库移植到GD32F103 当波特率在1000时CAN工作不正常。波特率在500时没啥问题,但是一到了1000波特率,连续最多发送20000帧数据就报错了。发送帧数据间隔在1~2ms左右。不知道跟是否是标准帧有关系。F4就没啥问题,这个F1问题颇多。大家有没有遇到同样的问题啊?








LucasYe 发表于 2022-11-23 08:59 | 显示全部楼层
可以看下GD的303系列,这个是替代原来的103的,如果有需要其它品牌的,也可以看下我页面,有介绍哈,或者您邮件联系我:sales30@hlj-ic.com,M0、M3、M4系列都有。
AdaMaYun 发表于 2022-11-23 11:30 | 显示全部楼层
问题解决了嘛?感觉像是CAN设置问题,或是速率传输跟不上的问题,我遇到过一次标准CAN模块通讯卡顿,因为CAN模块是持续收发所以后期感觉内部单片机处理不过来了,导致问题发生
chenbagan 发表于 2022-12-4 08:01 | 显示全部楼层
GD的CAN还是做的不错的,1M应该不至于卡顿。我们用C103做到6M CANFD都没有问题。
sagade 发表于 2022-12-4 22:53 | 显示全部楼层
去年,ST标准库的程序,我烧到GD32F103里面,压根就跑不起来,你这用HAL库的居然还能跑。
后来直接用GD的库函数,就没有问题了。
胡兴明 发表于 2022-12-7 22:01 | 显示全部楼层
CAN_DBT 寄存器可能配置的不合理
tpgf 发表于 2022-12-8 16:11 | 显示全部楼层
can有1000这个速度的波特率吗?
paotangsan 发表于 2022-12-8 16:31 | 显示全部楼层
sagade 发表于 2022-12-4 22:53
去年,ST标准库的程序,我烧到GD32F103里面,压根就跑不起来,你这用HAL库的居然还能跑。
后来直接用GD的库 ...

hal库和标准库还是不一样的 所以有可能能跑起来
renzheshengui 发表于 2022-12-8 16:40 | 显示全部楼层
chenbagan 发表于 2022-12-4 08:01
GD的CAN还是做的不错的,1M应该不至于卡顿。我们用C103做到6M CANFD都没有问题。 ...

我曾经使用st自带的can进行调试 没有成功 不知道gd的会不会容易一点
wakayi 发表于 2022-12-8 16:48 | 显示全部楼层
1-2个毫秒的延时应该是够用了  可以先尝试使用回环模式
wowu 发表于 2022-12-8 16:56 | 显示全部楼层
接收端和发送端双方数据处理不协调?
xiaoqizi 发表于 2022-12-9 08:18 | 显示全部楼层
AdaMaYun 发表于 2022-11-23 11:30
问题解决了嘛?感觉像是CAN设置问题,或是速率传输跟不上的问题,我遇到过一次标准CAN模块通讯卡顿,因为CA ...

看楼主的描述是做了延时处理的  应该不是数据处理不过来的问题  关键是楼主没有给出报错的信息
kkzz 发表于 2022-12-12 09:49 | 显示全部楼层
如果不能整数分频,波特率的误码率还是比较大的。
uytyu 发表于 2022-12-12 14:38 | 显示全部楼层
配置串口的正常代码是否可行呢?              
wwppd 发表于 2022-12-12 15:17 | 显示全部楼层
波特率只能是9600比较稳定的。
louliana 发表于 2022-12-12 15:57 | 显示全部楼层
这个跟你配置的晶振关系很大的。              
MessageRing 发表于 2022-12-20 18:27 | 显示全部楼层
hal库和标准库还是有区别的,有可能会跑得起来
星辰大海不退缩 发表于 2022-12-22 16:52 | 显示全部楼层
个人感觉是数据量太大,时间长了就发生数据处理不过来了导致的,建议还是用高速率MCU进行处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

481

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部