- 打卡等级:以坛为家I
- 打卡总天数:312
- 最近打卡:2025-03-11 13:20:13
荣誉版主
- 积分
- 5395
|
发表于 2024-4-26 07:09:28
|
显示全部楼层
楼主顶楼说:
在发送完一帧数据后进入发送完成中断,我们没办法直接启动下次发送,必须将新数据写入BUFFER后再启动发送。
-----------------------------------------------------------------------------
在 CAN 发送期间, 继续 写入 CAN 发送缓冲区数据(12字节), 当作双缓冲区(同一地址) 使用. 余下 4字节(含填充0), 等发送完一帧数据后进入发送完成中断,
再续续写入余下 4字节(含填充0), 启动发送, ....反复循环上述过程.
如下一帧不丢数据(发送 13字节), 则此方法可行, 可继续改为 写入 CAN 发送缓冲区数据(13-15字节), 当作双缓冲区(同一地址) 使用. 余下 3-1字节(填充0), 等发送完一帧数据后进入发送完成中断,再续续写入, 启动发送, 分别测试验证. 以寻找最佳方案.
如下一帧丢数据(仅发送最后 1字节), 则此方法行不通, 彻底没戏了. |
|