2

Windows で動作し、ELM327 デバイスと通信するソフトウェアを作成しようとしています。最初のバージョンを作成し、SMART ForTwo (SMART 451) 車両に乗り込み、インストルメント クラスターに接続することができました (送信 CAN ID は 782、受信 CAN ID は 783)。ただし、フロー制御には大きな問題があります。ログは次のとおりです。

TX: ATI RX: ELM327 v1.5a

TX: ATE0 RX: ATE0 OK

TX: ATSP6 RX: OK

TX: ATH1 受信: OK

TX: ATL1 受信: OK

TX: ATCFC1 受信: OK

TX: ATFCSM0 RX: OK

TX: ATAL RX: OK

TX: ATSH782 RX: OK

TX: ATCRA783 RX: ?

TX: ATST64 RX: OK

TX: 1092 RX: 783 02 1A 87

TX: 1A87 RX: 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

ご覧のとおり、フロー制御フレームは、他のデバイスから送信される最初のフレームと同時に送信されます。「Flow Control」フレームの受信に問題があると確信しています。ELM327 のドキュメントを調べましたが、フロー制御フレームを遅らせる方法に関する情報は見つかりませんでした。リクエスト「1A 87」を正しく送信し、レスポンスを受信するにはどうすればよいですか?

4

2 に答える 2

1

それはとても簡単だと思います..

ATCFC0 コマンドを使用すると、コントロール ユニットからのすべての応答フレームを処理できます。フロー制御フレームを手動で送信する必要があります。

于 2015-07-02T13:16:34.587 に答える