[STM32G4] 请问G4系列的CANFD,如果发送两条连续报文,不加延时,怎么处理?

[复制链接]
1402|14
 楼主| goodluck09876 发表于 2024-2-26 16:56 | 显示全部楼层 |阅读模式
请问G4系列的CANFD,如果发送两条连续报文,不加延时,怎么处理?
请问有这方面的资料吗
香水城 发表于 2024-2-27 13:56 | 显示全部楼层
直接发就是了。硬件有发送缓冲的,记得有3个。
例程在STM32g4 固件库里就有:

C:\Users\miler shao\STM32Cube\Repository\STM32Cube_FW_G4_V1.5.2\Projects\STM32G474E-EVAL\Examples\FDCAN
laocuo1142 发表于 2024-3-18 12:31 | 显示全部楼层
如果可能,为第二条消息分配一个稍低的优先级,以减少冲突的可能性。
flycamelaaa 发表于 2024-3-18 14:26 | 显示全部楼层
在硬件或软件层面实现发送缓冲和队列管理。这样,即使两条消息几乎同时到达发送队列,它们也可以被有序地处理,而不是立即连续发送。
故意相遇 发表于 2024-3-18 14:30 | 显示全部楼层
一般就跟串口差不多吧,都是有缓冲的
白马过平川 发表于 2024-3-18 17:00 | 显示全部楼层
你弄个环形队列?是不是就可以
小夏天的大西瓜 发表于 2024-3-18 17:38 | 显示全部楼层
自身就有缓存区,一般能够正常收发
风凉 发表于 2024-3-18 19:00 | 显示全部楼层
可以丢包吧,比如说收到第一包处理完事儿再收第二包这种逻辑
西洲 发表于 2024-3-18 21:00 | 显示全部楼层
我建议是直接发,你是直接发完事儿之后,发现bug了?
捧一束彼岸花 发表于 2024-3-18 23:00 | 显示全部楼层
一般不需要加延迟的啊
在曼谷的春 发表于 2024-3-19 01:00 | 显示全部楼层
这个就是STM32关于CAN的资料就行,上面有写关于CAN的通讯方式的
失物招領 发表于 2024-3-19 07:00 | 显示全部楼层
需要注意的是,虽然可以在短时间内发送两条连续的CANFD报文,但在实际应用中,建议根据总线负载和通信需求适当地添加延时,以避免总线冲突和数据丢失。
将爱藏于深海 发表于 2024-3-19 09:00 | 显示全部楼层
需要配置两条要发送的CANFD报文,包括报文的ID、数据、数据长度等信息。确保报文的配置是正确的,并且符合CANFD协议的要求
一只眠羊 发表于 2024-3-19 11:00 | 显示全部楼层
在发送第一条报文后,需要等待CANFD控制器完成发送操作。这可以通过轮询CANFD控制器的状态寄存器或者使用中断来实现。确保第一条报文已经成功发送完成
月亮一键变蓝 发表于 2024-3-19 14:00 | 显示全部楼层
一旦第一条报文发送完成,立即配置并发送第二条报文。在发送第二条报文后,同样需要等待CANFD控制器完成发送操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

220

主题

5843

帖子

25

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