【问题标题】:How can I talk only to one ECU in a two ECU Car with ELM237 and OBDII [closed]我如何才能在带有 ELM237 和 OBDII 的两 ECU 汽车中只与一个 ECU 对话 [关闭]
【发布时间】:2019-11-13 02:07:00
【问题描述】:

我正在向保时捷卡宴发送以下 ELM237 命令。 总线 7E9 和 7E8 上有两个 ECU。我想一次只谈一个。我想我可以通过使用 atsh7E8 来做到这一点 只与一个人交谈,但答案只包含字符串“NODATA”。 我想我在这里错过了一次过滤一个 ECU 的东西。有人有想法吗?

Request/Response
[atd, OK],
[atl0, atl0OK],
[ate0, ate0OK], 
[ath1, OK], 
[atsp0, OK],
[ats0, OK],
[atat1, OK],
[ate0, OK],
[0100, 7E9064100981880017E8064100BFBEA893],
[0120, 7E8064120A007B1197E906412000000001], 
[0140, 7E8064140FED085007E9064140E0800000],
[atdp, AUTO,ISO15765-4(CAN11/500)],
[0900, 7E9064900144000007E806490055400000],
[0902, 7E810144902015750317E821414332413231477E8224C413839303838], 
[010C, 7E904410C09607E804410C095C],
[010D, 7E903410D007E803410D00]

【问题讨论】:

  • 这与编程无关。你的问题在mechanics.stackexchange.com 上可能没问题,他们过去不时接受类似的问题。虽然我不熟悉他们的网站,所以我会在他们的元数据上询问这个问题是否会成为主题。
  • 我投票结束这个问题,因为它不是关于编程的。
  • 它是关于过滤移动应用程序中的 CAN 总线消息。这与编程无关。我询问了我通过串行总线发送的命令。这是一个移动应用程序。
  • 这就像说互联网上的 HTTP 请求不是编程。

标签: can-bus obd-ii elm327


【解决方案1】:

我想 寻址 你的意思是,你想一次只看到一个 ECU 的消息。在上面的示例中,您没有向汽车发送任何消息。

使用 ELM237 的 Receive Filtering 命令过滤接收到的消息

AT CRA 7E8

之后,您将只看到 ID 为 7E8 的消息

【讨论】:

  • 谢谢你,我会试试的。有没有办法在获取数据之前发送命令来找出总线上的 ECU 地址?
  • 不,您需要进行探测,例如发送 TESTER PRESENT (0x3E 0x00)。另请注意,您不仅需要过滤对您的 OBD2(广播)请求的答案,还需要通过使用ATSH 指定仲裁 id 来直接与 ECU 对话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 2017-08-04
  • 2022-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多