Der Abschnitt 'Interpretieren von Fehlercodes' (Seite 26) des ELM327 Datenblatt zeigt ein Beispiel für das Abrufen von DTCs. Sie stellen zunächst eine PID 01-Anforderung für Modus 01, um die Anzahl der DTCs zu bestimmen (die Sie zum Decodieren der Antwort in der nächsten Anforderung benötigen). Dann stellen Sie eine Anforderung für Modus 03 (keine PID), um die tatsächlichen Codes abzurufen. Ich werde versuchen, das Beispiel für die Nachwelt zu umschreiben:
Dies sollte die Schnittstelle zurücksetzen und die Protokollsuche auf automatisch einstellen:
ATZ
ATSP0
Dies sollte eine Anforderung für den Modus 01 PID 01 ausgeben:
01 01
Eine typische Antwort könnte (hexadezimal) sein:
41 01 81 07 65 04
Die zwei Bytes '41 01 'zeigen eine Antwort auf eine Mode 1 PID 01-Anfrage an. Das Byte '81' (10000001 binär) gibt den MIL-Status und die Anzahl der Fehlercodes an. Das erste Bit ist das MIL-Ein / Aus-Bit (1 oder in diesem Fall EIN), die nächsten 7 Bits (0000001) sind die Anzahl der Fehlercodes. Die Bedeutung der verbleibenden drei Bytes ist in der SAE J1979-Spezifikation enthalten.
Dies sollte eine Anforderung für Modus 03 (keine PID) ausgeben:
03
Eine typische Antwort könnte sein
43 01 33 00 00 00 00
Das Byte 43 zeigt eine Antwort auf eine Anforderung des Modus 3 an. Die nächsten drei Bytepaare sind Fehlercodes. In diesem Beispiel denke ich, dass es nur ein Geschenk gibt (Rest sind Nullen). Wenn mehr als 3 zu melden sind, weiß ich nicht, ob die Antwort nur länger wird oder in mehrere Zeilen aufgeteilt ist. Hmmm, Wikipedia schlägt vor mehrere "Frames", nicht sicher, wie genau der Ulmenchip das übersetzen würde. In jedem Fall wird '01 33 'als DFC P0133 dekodiert. Weitere Informationen finden Sie im Datenblatt und in der SAE J1979-Spezifikation (Die Spezifikation kostet Geld. Sie können andere Open-Source-Projekte, die ELM327-Chips unterstützen, rückentwickeln, wenn Sie die Spezifikation nicht in den Händen halten möchten oder können). Es sieht so aus, als hätte jemand Tonnen nützlicher Informationen in den relevanten Wikipedia-Artikeln hinzugefügt.
Es sieht so aus, als ob der ELM327 die höheren Datenraten unterstützt, die die älteren ELM-Chips nicht unterstützt haben. Dies ist praktisch für die Fehlerbehebung und die Optimierung. Sie können Daten für mehrere Sensoren gleichzeitig abrufen oder die Daten von einem Sensor maximal nutzen, um Merkmale zu erkennen, die bei niedrigeren Datenraten möglicherweise nicht sichtbar sind. Ich denke, Sie benötigen möglicherweise ein spezielles OBDII-zu-RS232-Kabel, um diese höheren Datenraten zu nutzen.