can-bus - SocketCan 错误:向未通电的硬件发送帧
问题描述
我在没有通电节点的 CAN 总线上发送消息。返回的 CAN 报文的报文 ID 为 0x2000 0088,表示 CAN_ERR_FLAG。
CAN_ERR_PROT 和 CAN_ERR_BUSERROR 已设置。
数据[0..7]:0x00 0x00 0x80 0x19 0x00 0x00 0x00 0x00
解码数据[2] = CAN_ERR_PROT_TX 并且,数据[3] = CAN_ERR_PROT_LOC_ACK
这是预期的情况,因为总线上没有节点来确认消息。
但...
我们正在设备上进行 epolling,并不断报告上述错误。即使我们打开一个 CAN 节点,我们仍然会收到这些错误。
如果我们在 CAN 节点通电的情况下启动我们的应用程序,那么一切都会按预期运行。
我们应该如何从这种情况中恢复过来?
解决方案
推荐阅读
- python - 如何使用来自应用程序事件的 customDimensions 和 customMeasurements - customEvents(结构化格式)?
- php - SQL SERVER 和 Symfony SQLSTATE[28000]:[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]
- forms - 如何使用标签输入组件以现有的 Vue 3 形式将文本输入更改为标签?
- tsql - 查找具有连续日期的记录并知道天数
- python - Matplotlib 中的 AngleAnnotation:实现了吗?
- twilio - 使用 twilio 电子邮件服务的动态标题
- php - 如何在php中将日期转换为特定格式?
- r - R 中的 vcov() 函数的结果是如何计算的?
- java - 从 InOrder 字符串表示构建二叉树
- javascript - 对象没有方法“createApp”