- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个在 Windows 下运行并与 ELM327 设备通信的软件。我创建了第一个版本,然后我进入了我的 SMART ForTwo (SMART 451) 车辆,我设法连接了仪表盘(发送 CAN ID 为 782,接收 CAN ID 为 783)。但是我对流量控制有很大的问题。这是日志:
TX:ATI接收端:ELM327 v1.5a
TX:ATE0接收:ATE0 正常
TX:ATSP6接收:好的
TX:ATH1接收:好的
TX:ATL1接收:好的
TX:ATCFC1接收:好的
TX:ATFCSM0接收:好的
TX:阿塔尔接收:好的
TX:ATSH782接收:好的
TX:ATCRA783接收:?
TX:ATST64接收:好的
TX:1092接收:783 02 1A 87
TX: 1A87接收:783 10 16 5A 87 05 6E 00 08
我使用了另一个工具,我看到 ELM327 设备立即发送流量控制帧。是这样的:
891.438 782 02 1A 87
891.444 783 10 16 5A 87 05 6E 00 08
891.444 782 30 00 00 00 00 00 00 00
如您所见 - 流量控制帧与从其他设备发送的第一帧同时发送。我确定其他设备在接收“流量控制”帧时遇到问题。我研究了 ELM327 文档,但没有找到有关如何延迟流控制帧的任何信息。我应该如何正确发送请求“1A 87”并收到响应?
最佳答案
这是一个旧帖子,但可能对其他人有帮助!
这是我在与 SPI 连接的 MCP2515 上使用第一帧 (FF) 和流量控制 (FC) 的经验。
首先,您应该始终在 FF 消息之后发送 FC 消息,而不是同时发送。
其次,诊断读取器可以使用 ECU 响应帧中的 ID 继续与特定 ECU 通信。特别是,多帧通信需要响应特定的 ECU ID 而不是 ID 7DF。用通俗易懂的语言,您不应该发送 ID 为 7DF 的 FF 消息,您应该对您希望接收连续帧的确切 ECU 进行寻址。例如请求汽车 VIN(基于 Golf VII 的真实信息):
7DF 02 09 00 00 00 00 00 00//发送请求
7E8 10 14 49 02 01 57 56 57//从主ECU接收
7E0 30 00 00 00 00 00 00 00//寻址主 ECU 而不是 7DF !!
7E8 21 5A 5A 5A 41 55 5A 45//连续消息由7E0发送!
7E8 22 50 35 33 30 36 38 35
希望对您有所帮助!
关于can-bus - 使用 ELM327 接收 CAN 报文时的流量控制报文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29213988/
我是 CAN 协议(protocol)的新手,正在阅读 Robert Bosch 的 CAN 规范 ver2.0 B 部分。我无法理解第 63 页上的以下几行 ”注意:启动/唤醒:如果在启动期间只有一
我用 C 写了一些代码来读取 CAN 总线数据。当我读取 11 位 CAN ID 时一切正常。一旦我尝试读取 29 位 ID,它就会错误地显示 ID。 示例: 接收29位ID的消息: 0x01F0A0
如果这看起来与另一个问题相似或者看起来已经得到回答,我提前道歉。我觉得它非常详细,足以证明自己的问题。 我正在尝试寻找一个虚拟的 CAN 总线模拟器(或一些可以轻松制作模拟器的方法),它只会生成 CA
我的问题涉及 GNU 的品牌。 如果您有一系列命令可用作多个目标的配方,则 canned recipe派上用场了。我可能看起来像这样: define run-foo # Here comes a #
您好,我是一名学习canopen的学生。Canopen中的COB-ID和CAN标识符有什么关系?我在CIA主页上看到COB-ID不是CAN ID,但我不明白。 例如,如果 PDO 通过 CAN 总线传
我知道一个显性确认位是由另一个节点传输的消息的接收器发送的。 我无法理解的是,接收方是在接收到整个消息后发送单个显性位,还是接收者发送相同的消息,其中 ACK 位字段为显性? 或者是接收器在发送器传输
我是 CAN 协议(protocol)的新手,我正在尝试通过 Linux 的 SocketCAN 使用它。然而,我对可用的 2 种不同的 CAN 套接字(RAW 和广播管理器 (BCM))感到困惑。
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我正在尝试制作一个在 Windows 下运行并与 ELM327 设备通信的软件。我创建了第一个版本,然后我进入了我的 SMART ForTwo (SMART 451) 车辆,我设法连接了仪表盘(发送
我知道在 CAN Controller 中,如果错误计数达到某个阈值(比如 255),就会发生总线关闭,这意味着特定的 CAN 节点将从 CAN 网络中关闭。所以根本不会有任何交流。但是,如果上述情况
我正在使用 ELM327,我希望能够设置要发送的 CAN 消息的 header 和数据部分。我看到有一个代码用于设置消息的标题 SH xxyyzz 但是我很难找出如何设置数据部分并控制何时发送消息。
我想做的是: 将数据插入具有两列的表中,并在同一 PHP 页面中显示更新的值。我能够获取数据并显示它,但无法插入任何数据。请指导我。 文件名为 mypage.php 到目前为止我的代码:
(这个问题是关于 Android 11 的) 我想将崩溃日志打印到其他应用程序可以读取的文件中(具体来说,我希望能够导航到该文件并使用"file"应用程序查看数据)。 我看过很多关于这个问题的答案,但
这会产生“ fatal error :无法解开Optional.None”,我似乎不明白为什么 var motionManager = CMMotionManager() motionManager.
在 Java 中,我经常遇到带有后缀 -able 的接口(interface),例如可序列化、可迭代等。这表明实现这些接口(interface)的对象具有可以对其执行某些操作的特性,例如该对象可以被序
我正在阅读 CanJS API 文档并遇到 can.Construct.extend http://canjs.com/docs/can.Construct.extend.html .我知道 can.
我正在使用 C 语言在 STM32F1xx 上进行开发,直到现在我都在尝试使用“CANopenNode-master”实现 CANopen 堆栈,并且我正在使用 2 个中断。 第一个是用于处理 SYN
我一直在使用 SocketCAN,尤其是 Virtual CAN vcan。但是,到目前为止,我从未使用过 CAN FD(灵活数据速率)。 好吧,我今天早上用 can-utils 试了一下: cans
我正在运行一个带有两个 CAN channel 的程序(使用 TowerTech CAN Cape TT3201)。 两个 channel 是 can0 (500k) 和 can1 (125k)。 c
存储由序列字符组成的字符串的 %s 格式说明符可以存储整数序列吗?如果是的话..你能解释一下吗? 最佳答案 无论如何,数字都是用字符表示的,所以是的,您可以使用 "%s" 说明符读取数字并将其存储在
我是一名优秀的程序员,十分优秀!