Hallo, hat jemand eine Idee zu folgendem Problm : Über den UART z.B. M8 kommen 10 Bytes rein, wenn man diese über ein Terminalprogramm empfängt kommen nur wilde Zeichen raus, klar, die Zahlen werden als CHR umgesetzt, die 10 Byte folgen ohne Zeilenumbruch und Trennzeichen. Der Sender, ein Ultraschall-Entfernungsmesser, schickt alle Sekunde die Daten, nun möchte ich gerne die 10 Bytes zum "Weiterrechnen" in einzelnen Variablen ablegen, z.B. B1 = 256, B2 = 48 usw. Geht das überhaupt ? Die Endeerkennung würde ich über eine Zeitmessschleife mache, 10 Byte bei 4800 Baud ca. 2 ms...dann wieder Ruhe bis zur nächsten 1 Sek. Gruss A. Arndt
Das geht. Aber 10 Byte sind gut 20 ms bei 4800 Baud (plus mehr, wenn der Sender Pausen zwischen Zeichen macht). Und wenn du statt einzelnen Variablen B1, B2, ... mit einem Feld arbeitest könnte es einfacher sein, weil du mit Schleifen die Avriablen als Feldelemente bearbeiten kannst.
Hi, natürlich ca. 20ms, was bedeutet "als Feld" ? BASCOM.... Ich möchte auch z.B. Byte + Byte2 als LoHi zu einer Integer-Variablen zusammenfüren, wie das geht ist klar "makeinteger (Hi-Byte/Lo-Byte)" Ich kann auch einen Zähler hochzählen lassen nach UART-Empfang... Gruss A. Arndt
Feld engl. array http://avrwiki.com/wiki/index.php/Bascom_AVR#Arrays http://avrhelp.mcselec.com/index.html => Befehl DIM
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.