chefsalat-
Mitglied
Hallo zusammen,
meine Ausgangssituation:
Über RS232 versuche ich, ein Gerät anzusprechen. Den Com-Port öffnen und Daten hinsenden klappt soweit auch schon ganz gut.
Die Daten, die das Gerät als Antwort an mich schickt kann ich auch empfangen.
Zur Kontrolle der Daten auf der Leitung habe ich einen zweiten Rechner als Lauscher an das Com-Kabel gehängt. Der zeichnet mir alle Daten auf der Leitung auf und zeigt sie mir als Hex-Werte an. Das klappt soweit auch ganz gut. (Daten werden richtig gesendet. Gerät antwortet richtig.)
Nur mein Problem.
Die Daten, die ich empfange sind teilweise etwas anders.
Ich schicke:
{00} {00} {00} {00} {33} {33} {33} {33} {00} {FF} (Werte stehen in einem char-Array drin)
Ich sollte empfangen:
{7A} {85} {05} {FA} {EE} {11} {0F} {F0} {00} {FF} {4C} {B3} {00} {FF} {00} {FF}
Ich empfange aber (char-Array zur besseren Ansicht mit %x ausgegeben):
{7A} {FFFFFF85} {5} {FFFFFFFA} {FFFFFEE} {11} {F} {FFFFFFF0} {0} {FFFFFFFF} {4C} {FFFFFFB3} {0} {FFFFFFFF} {0} {FFFFFFFF}
Mein "Lausch-Rechner" zeigt mir an, dass nur die normalen Daten über die Leitung gehen, also:
{7A} {85} {05} {FA} {EE} {11} {0F} {F0} {00} {FF} {4C} {B3} {00} {FF} {00} {FF}
Vielleicht hilft es ja, die Werte habe ich zusätzlich noch in "int" umgewandelt. Dann sieht das so aus (diese Werte brauch ich nicht, nur zur veranschaulichung):
{122} {-123} {5} {-6} {-18} {17} {15} {-16} {0} {-1} {76} {-77} {0} {-1} {0} {-1}
Die Anzahl der empfangenen Daten stimmt.
Wie bekomm ich es hin, das ich z.b. anstatt {FFFFFF85} folgendes bekomm: {85}
Wie kann ich also die führenden FFFFFF abschneiden?
Nur dadurch kann ich mit den Werten weiterarbeiten.
Mein zweites Problem:
Mit dem Originalprogramm kommen immer die folgenden Daten zurück:
{7A} {85} {05} {FA} {EE} {11} {0F} {F0} {00} {FF} {4C} {B3} {00} {FF} {00} {FF} (siehe auch oben)
Mit meinem nachgeschriebenen Programm kommen trotz gleicher Nachricht, die ich an das Gerät schicke, laut "Lausch-Rechner" andere Daten vom Gerät zurück, wie vom Originalprogramm.
Es sind immer nur 2 Stellen anders. Anstatt {FA} {EE} kommen:
{98} {EE} oder {F0} {EE} oder {FA} {CC} oder {FA} {62} oder {E4} {EE}
Weiß jemand, an was das liegen könnte, das immer nur der 4. bzw. 5. empfangene Wert unterschiedlich sind. Eigentlich muss das Gerät immer mit der gleichen Nachricht antworten, da ich am Gerät selber ja nichts verändert habe.
Kann mir jemand helfen
Besten Dank schon mal im Vorraus.
Gruß chefsalat-
meine Ausgangssituation:
Über RS232 versuche ich, ein Gerät anzusprechen. Den Com-Port öffnen und Daten hinsenden klappt soweit auch schon ganz gut.
Die Daten, die das Gerät als Antwort an mich schickt kann ich auch empfangen.
Zur Kontrolle der Daten auf der Leitung habe ich einen zweiten Rechner als Lauscher an das Com-Kabel gehängt. Der zeichnet mir alle Daten auf der Leitung auf und zeigt sie mir als Hex-Werte an. Das klappt soweit auch ganz gut. (Daten werden richtig gesendet. Gerät antwortet richtig.)
Nur mein Problem.
Die Daten, die ich empfange sind teilweise etwas anders.
Ich schicke:
{00} {00} {00} {00} {33} {33} {33} {33} {00} {FF} (Werte stehen in einem char-Array drin)
Ich sollte empfangen:
{7A} {85} {05} {FA} {EE} {11} {0F} {F0} {00} {FF} {4C} {B3} {00} {FF} {00} {FF}
Ich empfange aber (char-Array zur besseren Ansicht mit %x ausgegeben):
{7A} {FFFFFF85} {5} {FFFFFFFA} {FFFFFEE} {11} {F} {FFFFFFF0} {0} {FFFFFFFF} {4C} {FFFFFFB3} {0} {FFFFFFFF} {0} {FFFFFFFF}
Mein "Lausch-Rechner" zeigt mir an, dass nur die normalen Daten über die Leitung gehen, also:
{7A} {85} {05} {FA} {EE} {11} {0F} {F0} {00} {FF} {4C} {B3} {00} {FF} {00} {FF}
Vielleicht hilft es ja, die Werte habe ich zusätzlich noch in "int" umgewandelt. Dann sieht das so aus (diese Werte brauch ich nicht, nur zur veranschaulichung):
{122} {-123} {5} {-6} {-18} {17} {15} {-16} {0} {-1} {76} {-77} {0} {-1} {0} {-1}
Die Anzahl der empfangenen Daten stimmt.
Wie bekomm ich es hin, das ich z.b. anstatt {FFFFFF85} folgendes bekomm: {85}
Wie kann ich also die führenden FFFFFF abschneiden?
Nur dadurch kann ich mit den Werten weiterarbeiten.
Mein zweites Problem:
Mit dem Originalprogramm kommen immer die folgenden Daten zurück:
{7A} {85} {05} {FA} {EE} {11} {0F} {F0} {00} {FF} {4C} {B3} {00} {FF} {00} {FF} (siehe auch oben)
Mit meinem nachgeschriebenen Programm kommen trotz gleicher Nachricht, die ich an das Gerät schicke, laut "Lausch-Rechner" andere Daten vom Gerät zurück, wie vom Originalprogramm.
Es sind immer nur 2 Stellen anders. Anstatt {FA} {EE} kommen:
{98} {EE} oder {F0} {EE} oder {FA} {CC} oder {FA} {62} oder {E4} {EE}
Weiß jemand, an was das liegen könnte, das immer nur der 4. bzw. 5. empfangene Wert unterschiedlich sind. Eigentlich muss das Gerät immer mit der gleichen Nachricht antworten, da ich am Gerät selber ja nichts verändert habe.
Kann mir jemand helfen
Besten Dank schon mal im Vorraus.
Gruß chefsalat-