Hi! ich möchte gerne div. Variablen zwischen einem AVR-Programm (in C geschrieben) und dem PC austauschen, damit ich a) mir div. Variablen auf dem PC anzeigen lassen und b) diese vom PC aus ändern kann. Ich habe hier mal etwas herumgesucht, aber bin irgendwie nicht so recht fündig geworden. Meine Idee wäre, die div. Variablen (integer) in eine struct zu verpacken und diese periodisch per RS232 auszutauschen. Ich bin mir jetzt allerdings nicht sicher, ob ich wirklich 8bit roh über RS232 austauschen kann oder ob nur 7bit netto möglich sind (irgendwie habe ich noch uuencode im Hinterkopf). Weiterhin bin ich in PC-Programmierung etwas ausser Übung, hat hier jemand irgendeinen Tipp oder Link wie ich das mit Visual C++/C#/Basic an eine Mini-GUI kopple? Danke vorab! Gerd
Ich würd die Bedienung des uC über ein Terminalprogramm machen, dann musste nur für den uC das Programm anpassen. So nach dem Motto: " Welche Variable aendern? 0: bla = 200 1: buh = 31 ... 1 Welcher Wert? 234 " und wider von vorne :-)
für ersteres würde ich dir die uart library von peter fleury empfehlen. klar kannst du 8 bit über uart übertragen, wenn du das entsprechend einstellst. zum 2. kann ich grad nicht so viel sagen, habs nur mal mit java gemacht. mfg
dunno.. schrieb: > klar kannst du 8 bit über uart übertragen, wenn du das entsprechend > einstellst. Klar, 8N1. Ich weiß aber nicht mehr, ob hier bestimmte Bytes als Sonderkommando ala XON/XOFF interpretiert werden oder ob alles wirklich "roh" durchgereicht wird. @Floh >Ich würd die Bedienung des uC über ein Terminalprogramm machen, dann >musste nur für den uC das Programm anpassen. Da ich mir bestimmte Daten in kurzen Intervallen anschauen will, ist eine GUI übersichtlicher. BTW: Das ganze ist eine selbstgebaute Waschtrocknersteuerung als Ersatz für eine kaputte Originalsteuerung. Sozusagen ein Waschmaschinen-Barebone ;-)
> Klar, 8N1. Ich weiß aber nicht mehr, ob hier bestimmte Bytes als > Sonderkommando ala XON/XOFF interpretiert werden oder ob alles wirklich > "roh" durchgereicht wird. das haengt stark von den einstellungen auf beiden seiten ab. primaer natuerlich auf der empfaegerseite. aber wenn es integer sind, warum nicht auf ASCII umwandeln und diese uebertragen ? das ist auf einer seriellen sicherlich problemloser. gruss hans
Hans Mayer schrieb: > aber wenn es integer sind, warum nicht auf ASCII umwandeln und diese > uebertragen ? das ist auf einer seriellen sicherlich problemloser. Meinst Du als String oder als 2*7bit ala uuencode?
Gerd schrieb: > Meine Idee wäre, die div. Variablen (integer) in eine struct zu > verpacken und diese periodisch per RS232 auszutauschen. Ich bin mir > jetzt allerdings nicht sicher, ob ich wirklich 8bit roh über RS232 > austauschen kann Im Prinzip ja, praktisch aber nein. Du brauchst eine Synchronisation, damit der andere weiß, welches Byte welche Bedeutung hat. Und beide Compiler müssen den gleichen Aufbau der Struct haben (Byte-Order). Ein einfaches Protokoll ist die Übertragung als Text (Hex-Nibble), die Synchronisation erfolgt am Ende durch CR/LF. Peter
> Meinst Du als String oder als 2*7bit ala uuencode?
als ASCII string. wenn der wert 123 ist, dann uebertraegst du die 3
zeichen 123
gruss
hans
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.