Hallo, kennt jemand ein PC-Programm das z.B. ein 240x320 Graphic-Display emuliert ? (oder irgend ein anderes Format) ich habe vor so einen Emulator zu schreiben, mit dem man z.B. per UART kommunizieren kann für kleine Anwendungen (oder für Debug-Zwecke) bräuchte man dann kein Display auf der Platine vorsehen, sondern könnte den PC wie ein Display behandeln. Falls es sowas schon gibt, wäre ein gleiches Projekt natürlich sinnlos Gruss Uwe
Uwe B. schrieb: > ich habe vor so einen Emulator zu schreiben, mit dem man z.B. per UART > kommunizieren kann > > für kleine Anwendungen (oder für Debug-Zwecke) bräuchte man dann kein > Display auf der Platine vorsehen, sondern könnte den PC wie ein Display > behandeln. Ich seh den Sinn noch nicht. Denn ein normales HD44780 LCD wird komplett anders angesteuert als das mit einer UART möglich ist. D.h. was du in den AVR brennen wirst, hat mit dem, wie ein derartiges LCD angesteuert wird, nicht das geringste zu tun. Wenn du da aber AVR seitig sowieso eine Speziallösung brauchst UND du PC-seitig ebenfalls eine Speziallösung einsetzt, dann kannst du aber auch gleich das benutzen, was dir ein normales Terminal mit zb einer VT100 Emulation von Haus aus bietet. Das schenkt sich nichts und ist schon fast fertig verfügbar. Denn ob deine AVR-seitige lcd_clear Funktion jetzt das Byte zusammenbaut, welches es normalerweise an ein LCD geben würde, oder ob sie gleich die entsprechende VT100-Sequenz zum Bildschirm löschen an die UART gibt, macht keinen großen UNterschied. Eine LCD Simulation macht IMHO nur dann Sinn, wenn du etwas hast, was du tatsächlich 1:1 anstelle eines regulären LCD an deinen AVR anschliessen kannst. D.h. alle Datenleitungen, R/W, R/S, E und welches dann (in begrenztem Umfang) zb auch das komplette Timing eines LCD simuliert. Sobald du aber über die UART gehst, kannst du das sowieso nicht mehr. Ist das Ziel aber, eine Ausgabefläche auf dem PC vorzusehen, weil man sich ein tatsächliches LCD einsparen will und es nur darum geht Ausgaben machen zu können, dann ist ein Terminal wesentlich besser geeignet, als ein simuliertes LCD. Zum einen ist die nutzbare Ausgabefläche um einiges größer, zum anderen ist die Ansteuerung einfacher.
:
Bearbeitet durch User
Hi Karl Heinz, ich möchte nicht ein bestimmtes Display und dessen Funktionen und Anschlüsse simulieren (da hab ich mich wohl falsch ausgedrückt) sondern ich möchte eine Möglichkeit haben eine "Text/Grafik-Ausgabe" zu realisieren ohne das ich ein Display im eigentlichen Sinne an den Controller anschließen muss. du hast es aber schon richtig gesagt, es wäre ein "erweitertes" VT100-Terminal-Programm (wenn man so will) im Bild mal ein Beispiel wie die Ausgabe aussehen würde : Nach dem start war das "Display" leer und über zwei Befehle wurden zwei Listboxen erstellt (an X,Y-Position mit Breite+Höhe) hier die zwei Befehle dafür : (#010,nr,x,y,w,h)
1 | "#010,0,010,020,100,0A0*" |
2 | "#010,1,010,0F0,100,0A0*" |
danach wurden Texte an die zwei Listboxen gesendet : (#011,nr,text)
1 | "#011,0,List-Box Nr0*" |
2 | "#011,0,Test*" |
3 | "#011,1,Andere List-Box*" |
aber nach der Resonanz hier zu urteilen werd ich das Projekt wohl wieder in die Schublade packen :-) Gruss
:
Bearbeitet durch User
Schau dir mal das hier an Beitrag "Projekt: Virtuelle Instrumente an serielle Schnittstelle" Ich denke, das könnte ungefähr in die Richtung gehen, die dir vorschwebt.
Uwe B. schrieb: > du hast es aber schon richtig gesagt, es wäre ein "erweitertes" > VT100-Terminal-Programm (wenn man so will) Dann kannst Du ein graphikfähiges Terminalprogramm verwenden. Ein Klassiker für graphikfähige Terminals war das Tektronix 4014; auf unixoiden Betriebssystemen ist ein Emulator dafür in Form von xterm standardmäßig vorhanden. Mit http://x.cygwin.com/ gibt es das auch als Bestandteil des Cygwin-Schichtkuchens.
Rufus Τ. Firefly schrieb: > Dann kannst Du ein graphikfähiges Terminalprogramm verwenden. ok, werd mal suchen ob es das auch für Windows gibt
Uwe B. schrieb: > Karl Heinz schrieb: >> Schau dir mal das hier an > > Danke...aber genau daher hatte ich ja die Idee !! Dann sehe ich allerdings erst recht noch nicht den Sinn hinter deiner Idee. Mit den Mitteln des genannten Threads kann man sich doch wunderbar in 0 Komma Nix eine grafische Oberfläche zusammenklicken und vom AVR aus ansteuern.
Hallo Uwe, ich habe vor einigen selbst mal so eines geschrieben. In der Firma. Speziell für ein Projekt, also nichts universelles. Es war so, dass am Montag die Anfrage kam, ob wir bis Freitag für eine Präsentation ein Steuergerät incl. LC-Display (128x64) entwickeln könnten. Am Montag Nachmittag war der LC-Simulator fertig. Dienstag und Mittwoch konnte ich die Software entwickeln, am Donnerstag war dann die Leiterplatte bestückt, das Display war eines mit RS232. Software drauf gespielt. Auf Anhieb funktioniert. Am Freitag die Präsentation, der Kunde unseres Auftraggebers hat den Mund nicht zu bekommen. Kenne aber leider kein universelles Tool.
Karl Heinz schrieb: > D.h. was du in den AVR brennen wirst, Er hat doch garnix von AVR geschrieben! Warum fängst DU damit an? Ansonsten geb ich dir Recht: Was der Uwe sich da gedacht hat, ist einfach nur unausgegoren. Man kann kein 240x320 Grafikdisplay auf dem PC derart emulieren, daß ein per Serieller angeschlossener µC darauf was malen kann, wie er es auf einem physisch an seinen Ports befindlichen Display tun könnte. Für Debugzwecke ist die Serielle jedoch allemal gut geeignet, man braucht dazu bloß sein Lieblings-Terminalprogramm auf dem PC. Vielleicht meint der Uwe auch was ganz anderes, nämlich das Entwerfen von grafischen Menüs usw. am PC. Dazu müßte man das im µC verwendete GDI im Entwurfsprogramm auf dem PC nachbilden und dessen Ausgaben in einem passenden Grafik-Fenster darstellen. Aber das läuft letztlich auf das Selberschreiben eines Emulators hinaus. W.S.
Hi, ohne das ich mir jetzt alles genau durchgelesen habe, vielleicht ist das ein Ansatz: GLCD-Simulator http://www.geocities.com/dinceraydin/djgfxlcdsim/djgfxlcdsim.html Gruß WilliP
W.S. schrieb: >Man kann kein 240x320 Grafikdisplay auf dem PC > derart emulieren, daß ein per Serieller angeschlossener µC darauf was > malen kann, wie er es auf einem physisch an seinen Ports befindlichen > Display tun könnte. warum sollte das nicht machbar sein ? man muss nur zwei Funktionen "umbiegen" 1. MoveCursor(x,y) 2. SetPixel(Farbe) diese zwei Funktionen gibt es im uc-Programm (in irgendeiner Form) immer, wenn ein Grafik-Display an einen uC angeschlossen ist in welcher physikalischen Art diese Befehle dann an das Display weitergegeben werden (Bitgeklappere) ist doch für die Anzeige unrelevant ich kann die zwei Befehle in zwei Ascii-Kommandos umwandeln, und per UART an den PC senden (wenn es sein muss in Klarschrift) und dann den PC den Cursor auf dem Bildschirm setzen und einen Pixel zeichnen lassen am Ende wird das gleiche "Bild" auf dem PC zu sehen sein, wie der User es auf einem "normalen" LCD haben möchte (von der Geschwindigkeit mal abgesehen) aber sowas war gar nicht meine Intension :-) Ihr "denkt" zu sehr an das nachahmen eines pyhsikalischen Displays aber da es davon 1000 verschiedene gibt und alle unterschiedlich angesteuert werden kann man die nicht "universell" simulieren ich wollte einfach eine Möglichkeit schaffen das ein User der nur einen Mikrocontroller und eine UART hat, den PC als "Grafik-Display" nutzen kann aber wie schon geklärt, funktioniert das heute schon das Thema kann also geschlossen werden Gruss Uwe
:
Bearbeitet durch User
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.