Gast
#1776825
Hallo und grüß euch, also ich möchte folgendes realisieren: Dazu besteht folgende Hardware: Ein Messstation schickt ständig per Funk alle 100ms 34 bytes auf ein Terminal. Das Terminal ist ca 10x10cm groß und besteht nur aus einem M32 und ein Display und zwei Tasten für rauf und runter. Die 34 bytes bestehen aus einem Anfangsbyte, 32 Datenbytes und ein Endbyte. Die 32 Datenbytes sind genau die 32 Zeichen des 2x16 Displays. Also alles was die Messstation schickt, sehe ich alle 100ms am Display ( Natürlich nicht Anfangs und Endbyte ). Nachdem die 34 Bytes angekommen sind, schickt das Terminal direkt 5ms danach ein Byte zurück an die Messstation. Es können drei verschiedene Bytes zurückgeschickt werden. Das erste Byte ist "Taste Runter", das zweite Byte ist "Taste rauf" und das dritte Byte ist "Ich drücke keine Taste". Wenn ich keinen Taster drücke, kommt ständig alle 100ms der selbe Text der Messstation. Drücke ich eine Taste kann ich durch das Menü hüpfen und mir mehrere Messdaten anzeigen lassen. Nun möchte ich dass dies automatisch passiert, also ich nicht mehr Tasten drücken muss. Ich möchte gerne, dass alle 5 Ebenen automatisch rauf und runterlaufen. In jeder Ebene werden natürlich die Messwerte gesondert gespeichert. Der Vorteil liegt darin, dass ich nicht mehr nur eine Ebene sehe, sondern die Daten dann anders aufs Display ausgebe, damit ich alle Daten der 5 Ebenen sehe. So, ich hoffe ihr versteht mein Vorhaben. Ich habe schon ein Bascom Programm fertig, mit dem es mit den Tasten funktioniert durch das Menü zu springen, aber wie mache ich es, dass es automatisch läuft? Ich habe ebenfalls das RS232 Protokoll mit HTerm an und sehe genau, was läuft. Nun hätte ich folgendes probiert, also sprichwörtlich( "Daten" ist ein Strin*34), Taste ist die Antwort die ich zurücksende: Do Do Taste=Rauf Loop until Mid(Daten,2,6)="Ebene1" Do Taste=Runter Loop until Mid(Daten,2,6)="Ebene2" Loop End Das Programm soll folgendes bewirken: Egal in welcher Ebene sich die Messstation gerade befindet, springe solange rauf, bis er bei der ersten Ebene ist und dann springe solange runter, bis er bei der fünften Ebene ist. Dann ist das Programm fertig und es geht von neuem los. Wenn ich das Programm so starte, macht er eigentlich genau das richtige, wenn da nicht das große ABER wäre: es geht alles ganz schnell, nur wenn er bei der Ebene1 angekommen ist und will wieder runter, bleibt er ziemlich lange bei der Ebene2 stehen ( Ca. 1,7 Sekunden ) und geht erst dann weiter runter. Das gleiche passiert auch unten. Also er ist auf Ebene5 und will wieder rauf, aber bei Ebene4 verbleibt er wieder ca. 1,7 Sekunden, dann geht er aber mit jede 100ms rauf zu Ebene1. also Ebene2 und Ebene4 dauern sooo lange und ich weis nicht warum. Er sendet aber das richtige Byte zurück... Könnt ihr mir bei meinem Problem helfen? Oder wisst ihr eine bessere Möglichkeit? Vielen Dank! Lg Peter