Hallo! Ich benoetige einen Code. Ich sitze nun schon eine Woche an einem Problem und bekomme es nicht gelöst. Codeteil vom Sender: .... Config Print0 = Portd.1 , Mode = Set Config Pind.1 = Output 'set the direction yourself Do Print "1234" Codeteil vom Empfänger: ... I1 = Inkey() If I1 <> 0 Then var = Waitkey() ... Ich habe auch schon diverse ander Varianten ausprobiert, leider ohne Erfolg : ( Es kommt auch was an, aber eben nicht das, was als string über Print Befel gesendet wird. Kann mir jemend sagen wie ich einfach eine 4 - stellige Zahl an einem 2. Atmel übermitteln kann? Thx schonmal!
Guten Morgen) Mir ist noch etwas eingefallen))) ueberall steht, das usc irgendwas auf 1 beim empfaenger gesetzt wird, wenn ein byte vollstaendig empfangen wurde. Mein 4-stellige Zahl wird doch aber sicher groesser als ein byte sein. D.h. wenn ich mit "if i groesser kleiner 0 then...." abfrage und dann auslese, werde ich nur bruchstuecke von der zahl haben !? Allerdings versteh ich nicht, wie ich dann zb nen ganzen text ans hyper terminal senden kann
Das Problem ist sehr komplex. Du brauchst erstmal ein Protokoll, an dem der Empfänger eindeutig erkennen kann, wann die Zahl anfängt und wann aufhört, z.B. durch ein vereinbartes Start- und ein Endezeichen. In einem Datenstrom "...123412341234123412..." ist das nicht möglich. Dann braucht der Empfänger einen Puffer, in dem er die Bytes von Startzeichen bis zum Endezeichen sammelt. Und sobald er das Endezeichen erkennt, übergibt er den Puffer an eine Funktion, die den String zurück in eine Zahl verwandelt. Peter
Na dann empfange einfach 4 Ziffern. Du mußt halt warten, bis eine Ziffer fertig empfangen ist. Beim experimentieren mit diesem Codeschnipsel wird es Dir klar werden. Später kannst Du den Code ändern (Array statt einzel-Bytes, Schleife ..) Dim Z1 as Byte Dim Z2 as Byte Dim Z3 as Byte Dim Z4 as Byte do:loop until UCSRA.RXC=1 'warten bis ein Zeichen da ist Z1 = UDR 'Daten lesen, in Z1 ist jetzt der Code für die erste Ziffer do:loop until UCSRA.RXC=1 'warten bis ein Zeichen da ist Z2 = UDR 'Daten lesen, in Z2 ist jetzt der Code für die zweite Ziffer ... ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.