Hallo zusammen, ich arbeite mich gerade durch das von Euch angebotene AVR Tutorial. Ich steh jetzt beim UART. Dazu möcht ich gerne eine Konsolenanwendung schreiben, die per RS 232 meine externe Schaltung( Mikrocontroller, der eine LCD Anzeige steuert )ansteuert. Ich gebe eine Zeichenkette, oder am Anfang auch ein Zeichen ein, dieses wird per RS 232 an meinen Mikrocontroller geschickt und der sendet es dann ans LCD Display. Der zweite Teil steht bereits in der Form dass ich eine feste Zeichenfolge in nem Assemblerprogramm vorgebe, den Mikrocontroller dann damit bespiele(per STK 500), auf mein Steckbrett setze und die gewünschten Zeichen dann auf meinem Display erscheinen(nicht elegant seh ich ein -> Anfänger). Die Konsolenanwendung möchte ich mit C++ schreiben. Nun zu meinen Fragen: Was für Möglichkeiten hab ich auf meine Hardware von meinem PC zuzugreifen per Konsolenanwendung? C++ nutzt in ein paar Fällen streams( iostreams, filestreams). Gibt es son ein Konzept auch für Schnittstellen? Mein zweites Problem sehe ich darin dass die RS 232 Schnittstelle nicht real existiert, ich also über ne USB Schnittstelle gehen muss und dann auf einen RS 232 Adapter. Wie sieht die Programmierung dann aus? Freue mich über jede Antwort und bedanke mich schonmal im Voraus. Falls das ganze zu kompliziert wird, wäre ich auch schon über Literaturhinweise oder entsprechende Internetquellen dankbar. Beste Grüße, Flocean
:
Verschoben durch User
Hallo Florian, wenn ich das richtig verstehe geht es dir erstmal um einen Test per Hand. Das Einfachste wäre in diesem Fall wohl, die Zeichen mit einem einfachen Terminalprogramm (z.B. Hyperterminal, das ist bei Windows-XP glaube ich noch dabei, ob auch danach noch weiß ich leider nicht). Falls du unter Linux arbeitest gibt es so etwas (nur viel besser) sicher dort auch. Dort einfach die COM Schnittstelle direkt öffnen, also nicht über Modem eine Verbindung aufbauen was normalerweise der Zweck eines solchen Tools ist. Dann die Baudrate, Parity, kein Handshake, kein Echo, usw. einstellen. Die Zeichen die du dann an der Tastatur eintippst müssten an der Sendeleitung der ausgewählen seriellen Schnittstelle zu sehen sein (Oszilloskop). Falls kein Oszi zur Hand ist kannst du auch (ohne deine Hardware angeschlossen zu haben) TxD und RxD die vom PC kommen brücken (müssten die Pins 2 und 3 des 9 poligen sub D sein). Dann müssten die Zeichen die du eingibst auch wieder am Bildchirm zu sehen sein. Ich hoffe das hilft dir etwas weiter. Viel Glück Helmut
Um unter Windows in C++ auf die Com Schnittstelle zuzugreifen, schaue dir dir Funktion "OpenFile" und die Funktionen drumrum (Write, Read usw.) in der windows.h an. gruß cyblord
Hallo und danke für die Antworten;-). Die Idee mit dem Hyperterminal hatte ich auch, da ich aber Windows 7 nutze hab ich keins zur Verfügung(Im Internet stehen aber anscheinend Anleitungen wie man doch noch eins bekommen kann). Für den Hardwaretest wäre das sicher eine gute Lösung. Prinzipiell möchte ich die Konsolenanwendung aufjedenfall schreiben. Seh das ganze als Übung zum ersten um meine C++ Kenntnisse mal um etwas Sinnvolles zu erweitern( ein Semester Taschenrechner und irgendwelche anderen Programme die niemand braucht) und zum anderen, möchte ich dieses Konzept in späteren Schaltungen weiterverwenden. Ne Verbindung zum Daten auslesen Befehle senden usw. kann sicher nicht schaden. Mir gehts in vorderster Linie um Üben und vorallem Erlernen von Grundlagen. Beste Grüße, Florian
Hallo, wenn du dir etwas solides aufbauen willst um deinen µC mit dem Computer zu steuern kann ich dir die Boost Library sehr empfelen. Die ist erstmal dafür da, dass du auf die Serielle Schnittstelle zu greifen kannst (auch mit USB-RS232 Adaptern. Genau genommen brauchst du den Boost Asio Teil. hier ist ein sehr gutes Tutorial: http://www.webalice.it/fede.tft/serial_port/serial_port.html#download Dann kannst du wenn du möchtest noch eine Grafische Oberfläche mit QT-Creator aufbauen. Falls du schon mit C++ vertraut bist, hast du dich schnell in QT eingearbeitet. Als einfaches Terminal Programm, ist Hterm für Windows sehr gut. Viel Erfolg
Dann lad dir hterm runter als Konsolenprogramm. In C++ greifste auf den UART zu wie auf ne normale Datei.
für win 7 etc.. gibts kostenlos den putty... der kann auch rs232 Deine Mutti
Naja gut also wenn man noch nichtmal in der Lage ist hterm oder Putty runterzuladen, dann frage ich mich schon ob man bereit ist (oder jemals sein wird), ne COntrolleranwendung mit RS232 und C++ Programm zu entwickeln. Der Weg ist auf alle Fälle noch lang. gruß cyblord
Quatsch cyberlord, das ist trivial. Offenbar nicht für Dich ;-(
So guten morgen und nochmals vielen Dank für die Antworten ich werd mich jetzt mal dran setzen und das ganze angehen. Vielen Dank für die mitgebrachte Geduld. Beste Grüße, Florian
die einfachste Möglichkeit die ich kenne: RS-232 for Linux and Windows http://www.teuniz.net/RS-232/index.html
232 schrieb: > die einfachste Möglichkeit die ich kenne: > RS-232 for Linux and Windows hab den Text nur überflogen, aber klingt interessant. Ist das so ne Art Wrapper für die Systemcalls (zB termios unter linux) um den Code zwischen Linux und WIndows portabel zu halten? An sowas bin ich nämlich momentan auch dran :-) @ TE: für dein Vorhaben würde ich erstmal HTerm empfehlen. Ein sehr gutes Terminalprogramm (das leider nicht mehr gepflegt wird, closed source ist und bei mir nicht mehr läuft :/ ). Damit kannst du schonmal testen ob dein LCD die Zeichen darstellt die du am PC raussendet. Diesen Schritt solltest du nicht überspringen, damit kannst du schonmal dein uC Programm Testen/Debuggen. Ein eigenes Programm zu schreiben ist dann der nächste Schritt.
Hterm ist kein Terminalprogramm, da es kein Terminal emuliert. Der Name ist insofern recht unglücklich gewählt. Neben dem (mehr oder weniger unsäglichen) Hyperterminal ist TeraTerm ein echtes Terminalprogramm, das sogar im Sourcecode vorliegt. http://ttssh2.sourceforge.jp/
HTerm ist natürlich kein Terminal im strengeren Sinne. Aber genau das, was der Te braucht. Der Te will bestimmt nicht mit hyperTerminal arbeiten, am ehesten noch mit putty.
Schöne Anleitung für die COM-Schnittstelle unter Windows: http://www.robbayer.com/files/serial-win.pdf Hier alle Funktionen für COM-Programmierung: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363194%28v=vs.85%29.aspx
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.