完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我可以 0 收件到的数据用 2 能送出去吗,可是会有几次数据丢失,但是这个数据如果是某个过电流数值,没有到可能的会有危险,请问这个有办法避开这种情况吗?
我用的 SDL 是 T2G_Sample_Driver_Library_7.8.0 我是从上位机 60 毫秒发给给开发板接收,再用 60 毫秒发放出去去 接收部分 发货部分 我跑了很久的数据,出现了有遗漏的地点,主要是不断地 1、2、3、1、3(左侧是用上位机发送)然后期望也接着收到 1、2、3、1、3 (右侧是开发板收到后出来的) 但是少收到了一个 1 请问有办法改善这种状况吗? |
|
相关推荐
2个回答
|
|
1、Y-TISTIKET 把两个 CAN的优先级设定为不一样的,因为现在不清楚楚是CAN2没有收益到还有 CAN0FERE 没有成功,所以,都需要调整一下看看。
2、y-tistiketgup60ms的tickettimeTime调整一下吧,跟着上面原因为一样,需要改进大改小都试试。 |
|
|
|
CAN接收有时会漏掉数据的原因可能有以下几个:
1. 数据接收速度不够快:CAN总线中的数据传输速率较高,如果接收缓冲区的数据没有及时读取,新的数据就会被覆盖掉。 - 解决方法:增加接收缓冲区的大小,或者提高数据读取的速度。 2. 数据传输帧率过高:如果CAN总线的帧率非常高,接收端可能无法及时处理所有的数据帧。 - 解决方法:优化系统设计,增加处理数据的速度。 3. 数据丢失:在CAN总线上,当多个节点同时发送数据时,可能会出现冲突,导致部分数据丢失。 - 解决方法:使用CAN总线上的冲突检测和错误处理机制,例如使用CAN的ACK和重传机制。 4. 硬件故障或干扰:硬件问题或外部环境的电磁干扰等因素可能导致数据丢失。 - 解决方法:检查硬件连接,确保电源供应稳定,减少外部干扰。 对于您的情况,可以尝试以下方法改善数据丢失状况: 1. 检查CAN总线的帧率和速度,确保接收和发送的数据频率匹配。 2. 检查接收和发送缓冲区的大小,确保缓冲区足够大,防止数据溢出。 3. 使用CAN总线的冲突检测和错误处理机制,确保数据的可靠传输。 4. 检查硬件连接和电源稳定性,尽量减少外部干扰。 5. 如果仍然存在数据丢失的问题,可以考虑使用更可靠的通信协议或调整系统设计。 最后,建议您使用最新版本的SDL库,或者联系库的开发者获取帮助和支持,以便更有效地解决问题。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
串口发送中断中对发送I/O口定义为GPIO输出,出现发送数据不完整,缺少2个字节,求解答
187 浏览 0 评论
630 浏览 0 评论
【xG24 Matter开发套件试用体验】10-Bluetooth示例1
723 浏览 0 评论
781 浏览 0 评论
【xG24 Matter开发套件试用体验】power specification电源规格参数配置
599 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10825 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-23 15:15 , Processed in 0.512568 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191