Gast
#25279
Hallo Alle zusammen, Ich benutze die Bascom AVR Version 1.11.6.3 . Das Problem das ich habe gestaltet sich wie folgt. Über die serielle Schnittstelle empfängt der AT90S8535 von einem anderen AT90S8535 am (Pin 14 (RXD)PD0 ) folgendes a1b2c3d4 . Der sendende Mikrokontroller schickt print "A";a;"B";b;"C";c;"D";d wobei a b c d Byte Typen sind in denen sich z.B. die Werte a = 1 , b = 2 , c = 3 , d = 4 befinden. Könnte aber auch a = 22, b = 1, c = 100, d = 31 sein Durch den Input Befehl auf dem zweiten Mikrokontroller wurde z.B. A1B2C3D4 als String empfangen . Meine Frage ist nun : Wie kann ich den String wieder aufschlüßeln ? Mit dem var = MID(var1 ,st [, l] ) ist das wohl nicht machbar, da mein empfangener String A1B2C3D4 nicht von konstanter Länge ist. Es ist möglich, das der sendende Mikrokontroller z.B. A10B201C3D43 sendet , und somit ein insgesamt längerer String empfangen wird. Also mein Problem ist , daß ich nicht weiß wie ich an die veränderlichen Inhalte a b c d des empfangenen Strings gelange. Das Senden von 4 Byte Typen also nur 5 1 6 2 kann auf der Empfängerseite als 5 1 6 2 in einen String der Länge 3 also (0 1 2 3) abgelegt werden. Auf dem Hyperterminal erscheint dann folgerichtig 5162 Frage : Ist es möglich die gesendeten Bytes a b c d empfangsseitig in Bytes und nicht als String zu empfangen ? Bisherige versuche mit z.B. INPUT a INPUT b ....... waren nicht erfolgreich. Etwas weitergeholfen wäre mir wohl auch schon , wenn ich wüßte wie man aus einem String z.B. A123A12A87A33 das Zeichen "A" zählen kann. Sollte meine Problemschilderung nicht klar sein, so können Sie mich unter dasch@gmx.de erreichen. mfg Dieter