Hallo! Ich habe auf einem Atmel ATMega128 inkl 1,5 Zoll Farbdisplay ein Programm geschrieben welches möglichst viele Funktionen des µC anspricht. Es ging mir darum C zu lernen und die µC Programmierung mit Interrupts, etc kennenzulernen. Das Programm ha ein Benutzerinterface und nimmt 3000 Werte mit dem ADC von einem Poti in 10 Sekunden auf. Diese werdn dann auf dem Display im Koordinatensystem dargestellt. Nun möchte ich diese Daten an ein VB Programm übersenden können und auch vom VB Programm aus alles im µC Steuern können (parallel zum Tastenfeld am Controller) sowie das Diagramm hier aufbauen. Ein einfaches Übertragen der Daten über die Uart-Library von Peter Fleury habe ich bereits, aber ich möchte ein kleines Protokoll entwerfen, insbesondere weil das Projekt in einem FH-Modul "Prozessbussysteme" läuft und wenn ich schon keinen Bus habe, dann wenigstens eine RS232 Übertragung mit kleinem Protkoll. Hat dazu jemand von euch einen guten Link oder eine Idee wie ich sowas mache? Einfach den Controller wie auch VB auf ein "Steuerwort" horchen lassen und wenn dieses kommt eben Messung starten, die 3kB senden, und dann ne Rückmeldung, etc? Tipps zur Benutzung des Comm-Moduls in VB? Eine wirkliche Fehlerkontrolle/Korrektur für die Daten muss natürlich nicht sein, es soll nicht zu aufwändig werden, da ich sehr wenig Zeit habe Danke!
Ganz einfach: Öffne vom VisualBasic ein File mit dem Filename "COM1" oder "COM2". Am Besten als "Binary Read Rrite", dann kannst Du Character weise auf die UART schreiben und lesen, als wäre es irgend eine Datei auf der Disk! (Halt ohne EOF, falls Deine uC Applikation dies nicht generiert.) Gruss Peter
Hmm, zum generellen Datenübertragen nutze ich die MSComm1 funktion von VB. Mir ging es eher um das erstellen eines Protokolls...
Peter wrote: > Ganz einfach: Öffne vom VisualBasic ein File mit dem Filename "COM1" > oder "COM2". > > Am Besten als "Binary Read Rrite", dann kannst Du Character weise auf > die UART schreiben und lesen, als wäre es irgend eine Datei auf der > Disk! (Halt ohne EOF, falls Deine uC Applikation dies nicht generiert.) Ups... - So einfach (wie in QBASIC) geht das?? Ich nutze dazu bisher auch das MSCOMM Steuerelement und dessen Eigenschaften und Methoden... Wieder was gelernt, werde ich mal ausprobieren, danke... Ideen zum Protokoll habe ich jetzt auch nicht. Wenn man die Daten HEX codiert (erzeugt aber Overhead), hat man genügend ASCII-Codes zum Übertragen von Steuerzeichen (z.B. für Befehle und Antworten). ...
Mal eine Idee: Ich mache mir ein simples Protokoll in folgender Form: Es werden immer 12 Bytes übermittelt, unterteilt in: 1 Steuerbyte in dem steht was gerade ankommt und wie es verwendet werden soll 10 Datenbytes mit beliebigem Inhalt 1 Byte für Fehlerkontrolle, Anzahl aller zu übermittelnden Bytes, etc... Im MS Comm Modul stelle ich dann RThreshold und Inputlen auf 12 (Bytes) Beim OnComm Event verarbeite ich das Ganze dann und fordere entweder den nächsten Datensatz an wenn noch nicht beendet oder was auch immer. Auf Seite des µC das gleiche immer die gesamten 12 Bytes in eine Variable und dann auswerten... Verbesserungsvorschläge? Tipps? Alles Quatsch was ich mir so denke?
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.