Hi, ich möchte mich jetzt mal daran versuchen, ein einfaches Windows Programm zu schreiben. Das Ziel ist es Bilder über die RS Schnittstelle an meinen µC zu schicken, um diese dann auf einem Display anzeigen zu lassen. Kennt jemand eine einfachen C Compiler für Win 98? Gruß Th.
Pelles C ist auch nicht schlecht und hat einen Resource Editor: http://www.smorgasbordet.com/pellesc/
Wenn's nicht unbedingt c sein muss, schau dir doch mal Delphi an. Sehr leicht zu lernen und es gibt auch viel Hilfestellung und fertige Packages im Netz dazu. Damit muss man nicht alles von Hand zu Fuß machen wie teilweise in C. Ich will keinen Glaubenskrieg anfangen, ob nun C gut ist oder schlecht. Wollte es nur mal für Thorsten erwähnen..
bloodshed.net, also Dev-C++, ist ziemlich veraltet. Den sollte man nur nehmen, wenn man ganz genau weiß, wieso. Nimm besser Code::blocks oder Microsoft Visual Studio 2005 Express; beides gibt es kostenlos, aber letzteres läuft evtl. nicht auf Win98.
Wenn Du nicht auf C oder C++ festgelegt bist, kannst Du Dir mal Tcl/Tk angucken. Tcl/Tk ist eine Interpretersprache, mit freewrap können auch executables erstellt werden. Ist nicht so schnell wie kompilierter Code, für serielle Kommunikation aber locker ausreichend. Grosser Vorteil: Wenn man sorgfältig programmiert, läuft der Code auch auf anderen Plattformen (Linux, Solaris etc.). Gruss, Thorsten (nicht der OP)
Ich benutze für meine Windowsprogramme immer LabWindows/CVI von National Instruments. Diesen Compiler kann ich nur empfehlen. Damit kannst du so ziemlich alles mit deim Computer anstellen was du willst... und auch unter XP. Der kostet aber leider etwas... aber ich glaube es gibt wo Demos zum Testen...und ausserdem muss es ja nicht immer die neueste Version sein. http://www.ni.com/lwcvi/
Hi. erstmal danke für eure Antworten. Jetzt hab ich wohl die Qual der Wahl, wobei ich ja sagen muss das ich erstmal keinen Plan hab wo ich da anfangen soll. Da ich ja erstmal nur eine Anwendung (s.o.) benötige, wäre in all diese Programme die Einarbeitungszeit meiner Meinung nach ziemlich hoch. Ich schau jetzt mal was ich da mchen werde. Gruß Th.
Ich will mal noch meinen Senf dazugeben :-) Nimm nur dann C, wenn's wirklich sein muss. Auf nem Windows ist das vermutlich nicht der Fall ;) Lieber gleich objektorientiert anfangen mit C++ oder C# oder da es noch nicht gesagt wurde java... Ansonsten für C/C++ würde ich auch Code::blocks statt bloodsheed empfehlen. Für C# gibts noch den freien Sharpdevelop. Wenn's bei der einfachen Aufgabe bleibt ist TCL/TK vieleicht auch eine Überlegung wert. Da ist die Einarbeitungszeit vermutlich am kürzesten. Wenn du "Progammierkenntnisse" als längerfristige Investition siehst, kann C++/C# nicht schaden (was aber nicht heissen soll, dass man nicht trotzdem mit TCL anfangen kann ;-) Auf jeden beim Lernen nicht auf reines C spezialisieren... Ach ja, um die Auswahl noch zu erweitern. VB (Visual Basic) soll auch recht einfach sein und dazu gibt's vermutlich auch ein kostenloses Visual Studio Express.
Kommt drauf an was du schreiben willst! Einfache Konsolenanwendungen: gcc/lcc bzw. eine der vielen Verpackungen ala Dev-Cpp oder wenn's schnell gehen soll eine Skriptsprache wie Ruby oder Python nach Wahl Bei umfangreicheren Programmen (und/oder mit Benutzerschnittstelle): Nur unter Windows lauffähig bzw. mit Einschränkungen portabel: Visual C# oder SharpDevelop2, alles andere, insbesondere direkte Win32 oder MFC-Programmierung, empfiehlt sich - ums mal freundlich zu sagen - nicht Crossplattform: Java, QT mit einem Compiler nach Wahl oder bei kleineren Sachen auch FLTK oder wxWindows + Compiler/Sprache nach Wahl Zwar nicht sehr verbreitet, aber für (den Einstieg in) objektorientierte Programmierung sehr zu empfehlen: Smalltalk z.B. die Community Edition von Dolphin Smalltalk Für die genannte Aufgabenstellung würde ich in deinem Fall (Win98) wohl SharpDevelop2 nutzen. Python http://www.python.org/ Libs für alles Mögliche http://www.vex.net/parnassus/ Ruby http://www.ruby-lang.org/en/ http://rubyforge.org/softwaremap/trove_list.php Visual C# (nur ab Win2000) http://msdn.microsoft.com/vcsharp/ SharpDevelop http://www.icsharpcode.net/OpenSource/SD/Download/ Dolphin Smalltalk http://www.object-arts.com/content/navigation/home.html http://www.object-arts.com/docs/index.html?whats_new.htm
Zitat: "... daran versuchen, ein einfaches Windows Programm zu schreiben..." Und die Vorschläge der "Experten"? Gleich die volle Dröhnung. Damit ist der Fragesteller so ausgelastet, dass er nie wieder Zeit hat, sich seinem eigentlichen Ziel zu widmen: Zitat: "... Bilder über die RS Schnittstelle an meinen µC zu schicken ..." Er hat nicht geschrieben, dass er sich zum künftigen Progammier-Guru entwickeln will, nein, nur etwas Windows-Programmierung. Warum soll das nicht mit C und WinApi, gemixt mit C++ oder mit VB, VBA und DLLs erfolgen. C und WinApi können alle Windows-kompatiblen C-Compiler. Das Hauptproblem wird aber nicht C, C++, C# oder sonst irgendeine Sprache werden, sondern die Philosophie hinter Windows, besonders wenn es um Grafik, Schnittstellen, Threads und Timer geht. Und da hilft ihm keiner der angegeben Compiler richtig weiter (mit Erklärungen). Blackbird
C auf dem PC ist die Pest, wennns übers GUI laufen soll. Schnell zum Ziel kommt man z.B. mit Purebasic, zwar "nur" ein Basic aber der Compiler kann es von der Speed her mit C dicke aufnehmen, ausserdem sind die Zeiten von Zeilennummern und "goto" bei Basic schon lange vorbei.
Zitat: "C auf dem PC ist die Pest, wennns übers GUI laufen soll." Ist diese Aussage nicht etwas subjektiv? Blackbird
@Torsten: Da du explizit nach C- Compiler fragst , nehme ich an du hast schon Erfahrungen mit C. Prinzipiell kannst du jeden der obengenannten C-Compiler nehmen. Wie schon angemerkt muss man wenn man in C unter Windows programmiert Ahnung von den internen Abläufen haben. Dies kannst du erstmal umgehen in dem du nur Programme für die Kommandozeile schreibst. Wenn du sowieso nur Bilder an den Mikrocontroller über die serielle übertragen willst, reicht das vollkommen. Da reicht das Wissen was jedes C-Buch (egal für welches Betriebssystem) vermittelt.
Hoi Blackbird. Ja! Ein einfaches GUI-Programm unter Windows macht er auf jeden Fall schneller, wenn er nicht C nimmt, da kann ich nobody nur zustimmen. Da ist er mit allen anderen vorgeschlagenen Lösung schneller dabei, angefangen von C# über Visual Basic bis TCL/TK. Wer sich für GUI auf einem PC mit C quält ist einfach selber Schuld. Compiler helfen ihm aber auch bei C nicht weiter... Kein Argument, was du da bringst. Eine "moderne" IDE bsp. angeführtes Visual Studio Express oder Sharpdevelop wartet aber mit relativ guten und umfangreicher Dokumentation und Hilfe auf... Das nach C gefragt wird, kann bedeuten, dass der OP sich mit C schon auskennt. Muss es aber nicht, kann ja auch sein, dass er das nur mal wo aufgeschnappt hat (no offense!) und da muss es erlaubt sein, "bessere" Lösungen (besser ist immer auch etwas subjektiv) zu empfehlen. Dazu ist diese Platform ja da.
Also, ich würde Java nehmen. mit 3 Zeilen hast du ein Bild aus den gebräuchlichen Formaten geladen, dann kannst du einfach die Pixel auslesen, und für die serielle Schnittstelle gibt es Bibliotheken. Java gibt dir meines Erachtens die größte Abstraktion (mit C# kenne ich mich nicht aus, deshalb nix dazu). Smalltalk ist sicher produktiv, aber für Einsteiger und für diese Aufgabenstellung nicht geeignet. Aber nimm das, womit du dich wohlfühlst, denn libs gibts für fast jede Sprache!
Noch mehr OT: In C# könnte man es z.B. so lösen: // ohne using // Bild laden (egal ob JPEG, Bitmap, PNG etc.) System.Drawing.Bitmap bmp = new System.Drawing.Bitmap("x:\filename"); // Bitmap auslesen z.B. mit bmp.GetPixel(x, y) und passend umwandeln // übertragen System.IO.Ports.SerialPort port = new System.IO.Ports.SerialPort("COM1", 115200); // u.U. restliche Parameter der Seriellen einstellen Handshake etc. port.Open(); // Daten übertragen port.Write(...); port.Close();
Ich habe recht lang in C Windows-GUI-Programme geschrieben (war zu faul, auf C++ umzusteigen). Ich Idiot. Habe jetzt kürzlich www.wxwidgets.org gefunden und mache jetzt meine GUI-Programme in der Hälfte der Zeit. Reines C mit WINAPI ist einfach zu kompliziert. Den Schritt hätte ich viel früher gehen sollen. Setzt aber Objektorientierung zwingend voraus. Und: Ja, wxWidgets hat einen Fokus auf Cross-Platform, den nutze ich aber nicht. Ich schreibe nur für Windows. Aber es ist nett zu wissen, dass man nicht auf Windows angewiesen ist, damit seine Programme in Zukunft noch laufen. Wenn Du doch reines C nehmen willst: PellesC ist IHMO der beste freie Compiler für diesen Zweck. Die IDE ist hervorragend. Für wxWidgets gibt es besseres: DialogBlocks in Verbindung mit dem GCC oder dem freien MS Compiler zum Beispiel. In Zukunft vielleicht auch CodeBlocks. Must halt mal schauen, womit Du Dich wohl fühlst. Sebastian
So mal in den Raum gefworfen: C++, RS232 und GUI und Plattformunabhängig - MINGW mit DEVCPP für C++ - FLTK für GUI - rlserial für Serielle Schnittstelle (auch erst vor 2 Tagen selber gefunden, funktioniert super) (einfach googlen nach den Schlagwörtern, sollte man schnell finden) Alles probiert, alles geht, sollte in 10 Min machbar sein, als Anfänger die FLTK-Beispiele umzubauen und z.B. per Knopf-Druck ne Serielle aufzumachen, einige Bytes zu schicken und wieder zuzumachen. mfg Weichinger Klaus www.weinga-unity-uni.at.tt www.weinga-unity.at.tt
Um ein Bild über die serielle Schnittstelle auf irgendein Gerät, z.B. µC zu laden, braucht man keinen einzigen der aufgeführten Vorschläge - Hyperterm genügt. Die Fragestellung des Thread-Erstellers läßt doch alle Spekulationen zu, sie verrät nichts über den Wissenstand und die Wünsche, wie es weitergehen sollte. Statt nachzufragen wurden spekulativ die eigenen Wünsche und Vorstellungen hineininterpretiert und so sahen auch die Ratschläge aus. Meine Postings haben nichts mit einer Wertung der einzelnen Vorschläge zu tun - auch diesem Mißverstehen eurerseits muß ich hier entgegentreten. Und das ich C für Win-GUIs favorisiere - wo ist denn das her? Um es noch mal auf den Punkt zu bringen: Statt an Hand der etwas laienhaften Frage noch mal nachzufragen, dann gleich die "volle Dröhnung" anzubieten, in keine Hilfe gewesen. Blackbird
Bin zufällig auf diese seite gestossen, vielleicht kann ich nachträglich auch noch einen tipp geben. Wie wäre es mit Open Watcom c/c++. Gratis, effizient, bietet alles was man braucht. http://openwatcom.mirrors.pair.com/
[x] Python und pySerial Sehr einfach und schnell zu programmieren, plattformunabhängig, gut. Mit TKinter gibts auch noch die Möglichkeit eine GUI zu erstellen.
Ich denke mal als Anfänger wirds mit einem Komplettpacket à la Visual Studio C# oder VB .NET 2005 Express Edition (kostenlos) am meisten Spass machen. Es gibt unzähligen Beispielcode zu allen erdenklichen Aufgaben im Internet. Ausserdem ist die Doku sehr umfangreich und ein super Debugger ist ebenfalls integriert. Ein GUI lässt sich mit der Maus zusammenklicken und für die serielle Schnittstelle ist auch eine fixfertige Komponente vorhanden, welche sehr sehr einfach integriert und benutzt werden kann. Man bekommt nach dem Build eine .exe Datei, welche auch Freunden geschickt werden kann oder auf anderen PC's laufen gelassen werden können (sofern .NET Framework installiert, ansonsten per Windows update schnell erledigt). Der Nachteil ist natürlich, dass es nur auf der Windows Plattform läuft. Aber who cares. Als Anfänger brauchts Erfolgserlebnisse und mit solchen Tools wie dem Visual Studio 2005 (oder früher Delphi) kommt man einfach schnell ans Ziel und es macht Spass. Nach dem Einarbeiten in die ganze Materie, kann man sich dann allenfalls immernoch nach Alternativen umsehen, wenn diese für eine Aufgabe besser geeignet sind. Selber begann ich mit QBasic. Später dann Delphi 5; das war schon mega cool, sich plötzlich so einfach ein GUI machen zu können! Heute würde ich auf Visual Studio gehen, weil die Community im Internet einfach grösser ist und Borland Delphi keine grösseren Vorteile mehr bringt. Mit C oder C++ und einem freien Compiler ist die Durststrecke einfach viel länger, bis man ein lauffähiges Tool zusammengebaut hat. Und da kann einen die Motivation schon mal verloren gehen und das ist doch schade, wenn ein schönes Pflänzchen bereits im Keim erstickt wird. Schönes Weekend, Johnny
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.