Hallo, ich baue gerade für einen Freund einen Audio-Umschalter mit µC-Steuerung. Nun hat er den Wunsch geäussert, das Teil - ausser mit den Tasten am Gerät - auch vom PC (Windows) aus steuern zu können. Nun schaffe ich es zwar, eine Steuerung mittels ASCII-Befehlen (z.B. mittels einem Terminalprogramm) über eine RS232 zu ermöglichen, er hätte es freilich lieber "grafisch". Nur extra dafür mit Windows-Programmierung zu beginnen, erscheint mir etwas zu aufwändig (ich bleibe schon bei den µC lieber bei Assembler!). Daher meine Frage: wer hat Lust und Zeit, mir ein kleines Programm zu schreiben? Es sollte im Prinzip nur auf einen Mausklick hin ASCII-Befehle zum Gerät senden und die Rückmeldungen vom Gerät visualisieren (sinnvollerweise als Dienst im Hintergrund). LG
Hallo! Hab schnell das gewünschte Programm geschrieben (Kann es selber vielleicht mal brauchen). Das Programm startet als Tray-Icon Anwendung (rechts Unten bei den Icons; Ein Icon mit 2 Pfeilen nach oben und nach unten). Kurz: Einstellung erfolgt über eine INI-Datei, die man auch vom Programm aus bequem editieren kann. Man kann bis zu 10 Befehle definieren, die im Tray-Menü angezeigt werden (oder auch nicht, wenn es keinen Befehl dazu gibt). Es gibt eine globale COM-Port Einstellung. Man kann aber auch je Befehl abweichende Einstellungen mitgeben. Das mitgeliefert Setting zeigt alle Möglichkeiten. Der mit CMD=xxxx mitgegebene String wird dann über die serielle Schnittstelle gesendet, wobei Leerzeichen am Anfang und am Ende weggetrimmt werden. mfg Weichinger Klaus
Hallo Klaus, ich beneide Dich! Mal eben so schnell ein Windows-Programm schreiben...! Leider kann ich Dein Programm nicht sofort testen, da ich per Linux unterwegs bin; ich werde das aber so bald wie möglich tun. Von Deiner Beschreibung her nehme ich allerdings an, dass es im Prinzip schon mal das ist, was ich suche. Würdest Du mir evtl. auch weiterhin bei diesem Projekt helfen? Ich würde Dir dann mal eine nähere Beschreibung zukommen lassen! LG André
Mit welcher Entwicklungsumgebung hast du die Windows-Anwendung geschrieben?
Kennst du dich auch mit Eclipse (Vers. 3.1) aus? Bin gerade dabei mich in die Entwicklungsumgebung und vor allem Java einzuarbeiten. Es scheint mir so, dass du irgendwie an einer Uni tätig bist. Hast du vielleicht eine gute Beschreibung (im pdf-Format) wie man mit Eclipse Anwendungen schreibt und vor allem wie man diese unter Windows eigenständig zum laufen bringt (Executables)?
java programme ohne runtime zum laufen zu bringen ist schon knifflig. es gibt programme, die aus einer runtime-umgebung und dem programm ein executable erzeugen, allerdings sind diese 1. teuer und 2. dauert die erstellung ziemlich lang. da allerdings auf fast jedem pc eine jre (laufzeitumgebung) installiert ist bzw. diese einfach bei sun heruntergeladen werden kann dürfte die verteilung von programmen kein allzu großes problem darstellen. zum thema "wie erstellt man anwendungen mit eclipse": ein java-tutorial besorgen, und dieses durcharbeiten - dateien erstellen, speichern, öffnen, ... funktioniert wie in jedem anderen editor auch, das programm starten kann man mit dem grünen pfeil ("ausführen als > java-application") bzw. mit dem komischen käfer (debug-modus)
Hallo habe dein Programm getestet ist echt super Hätte eine Frage suche die Möglichkeit einen Wert der über die RS232 schnitstelle empfangen wird irgebdwie mit Windows anzuzeigen z.B. Temperaturwert am besten in der Taskleiste Leider kann ich zwar den µc Programmieren aber mit Win bin ich überfordert. also meine Frage kann man dein Prog um diese funktion erweitern oder kennt jemand ein Prog das diese schon macht? Habe jetzt eine Stunde gegoogelt und bin nicht fündig geworden:-( (Bitte nich mit Hyperterminal das kann ich schon!!!!) Danke schon im voraus Andi
Probier mal Sharpdevelop http://www.icsharpcode.net/OpenSource/SD/ Da gibts im GUI-Designer auch ein COM-Port Element, wo man relativ einfach die serielle Schnittstelle ansprechen kann (vergleichbar mit VB). Wäre doch ein gutes Projekt, um sich in die Windows-Programmierung etwas einzuarbeiten. mfg Weinga-Unity
Kann man mit C# bzw. dem Visual Studio auch selbständig laufende Anwendungen schreiben oder muss man dann eine Erwiterung des Studios bei MS kaufen?
The one wrote: > Kann man mit C# bzw. dem Visual Studio auch selbständig laufende > Anwendungen schreiben oder muss man dann eine Erwiterung des Studios bei > MS kaufen? Hu? Das ist doch gerade die Idee. Ja, man kann!
Hallo! Also C#, VB.NET usw. schreiben Progs für die .NET Umgebung (vgl. Java). .NET muss halt installiert sein. Die Visual-Studios bzw. SharpDevelop sind ja nur IDE's zum Programmieren. mfg Weinga-Unity
Ich fass dass nochmal zusammen: Also was bei Java die VM ist, ist bei C# .NET?!
Ja das ist korrekt. Habe gerade in Wikipedia nachgeschlagen.
Habs mir gerade runtergeldaden und werds mal testen Danke für den tip ansinsten frage ich weiter !!!;-) Andi
Thema weiterfragen sieht auf den ersten blick sehr einfach aus (Baukastensystem) Komme aber auf die schnelle nicht zurecht damit versuche noch das mit Microhoft Visual Studio Express!! aber warscheinlich ist es das gleich in grün!!!! also wenn mir trotzdem einer helfen will habe mir das ganze ungefähr so vorgestellt Ein Fenster mit einenm Anzeigefeld und einem text darüber z.B. Temperatur es muß nichts ausgerechnet werden sondern nur der RS232 Port mit "input string = 10" abgefragt werden und wenn etwas kommt soll der alte wert gelöscht werden und der neue wert erscheinen nochmals Danke bin auch mit einer hilfe für sharpdevelop zufrieden!!!!
Andi2doo wrote: > es muß nichts ausgerechnet werden sondern nur der RS232 Port mit "input > string = 10" abgefragt werden und wenn etwas kommt Da hast du bereits deinen ersten Denkfehler. So programmiert man nicht unter Windows. Windows ist eventbasiert. Du fragst dort nicht ab, ob etwas über die serielle Schnittstelle hereinkommt, sondern die serielle Schnittstelle (bzw. die Software Komponente durch die sie in deinem Programm repäsentiert wird) benachrichtigt dein Programm, dass etwas hereingekommen ist. Dein Programm kann das dann abholen. Windows Programmierung ist nun mal Event-gesteuert. Dein Programm setzt alles auf und wartet dann, wie die Spinne im Netz, auf Ereignisse die auftreten und behandelt werden wollen. So ein Ereignis kann sein: Fenster verschoben, Fenster vergrößert, Maus Klick irgendwo, Taste gedrückt, Taste losgelassen, aus einer Combobox etwas ausgewählt, etc. etc. Es gibt Unmengen von Ereignissen, die auftreten können. Glücklicherweise muss man sich um die meisten nur dann kümmern, wenn dein Programm darauf speziell reagieren soll. Ansonsten kann man die ignorieren. Windows Programme die im wesentlichen stark GUI lastig sind, lassen sich ausgezeichnet und schnell mit Visual Basic bzw. mit C# zusammensetzen. Für beides gibt es bei MS gratis downloads der Entwicklungsumgebungen. Und für beides gibt es im Web massenhaft Tutorials für die ersten Schritte.
Danke für Deine Info leider bringt die mich kein Stück weiter. Mir wird wohl nichts anderes übrigbleiben als es zu lassen denn 2 Projekte sind einfach zuviel Wer noch eine Idee hat her damit ansonsten Danke
Hallo! Kurze Anleitung. 1) Du Startest Sharpdevelop 2) Datei->Neu->Projektmappe, dort Windows-Anwendung auswählen und einen Namen unten vergeben 3) Es wird automatisch eine MainForm angelegt. Beim Editor unten (Quellcode/Design) klickst du auf Design. 4) Links bei Tools kannst dann bei Components bzw. Windows-Forms die serielle Schnittstelle bzw. GUI-Komponenten reinziehen 5) Siehe Screenshot 1: Rechts siehst bei Eigenschaften und Events (Auf Blitz-Button Klicken) die Events, die die serielle Schnittstelle auslösen kann. 6) Doppelklick auf ReciveEvent... -> die Auszuführende Funktion wird im Editor geöffnet. Da schreibst dann rein, was gemacht werden soll, wenn Daten reinkommen. (siehe Screenshot 2) Da sieht man auch gleich, was für Eigenschaften und Methoden die serielle Komponente anbietet. 7) Genau so gibts Events für ButtonClick, FormLoad, TextChanged, ... mfg Weinga-Unity
Ein Beispiel für so einen "eventListener" (in Java) siehst du im folgenden Listing:
1 | addWindowListener (new WindowAdapter() { |
2 | public void windowClosing (WindowEvent event) { |
3 | System.exit(0); |
4 | }
|
5 | });
|
In diesem Fall wird nur das Windows-Fenster der Anwendung durch drücken des Beenden Buttons bendet.
Soweit kann ich Dir folgen aber ich muß doch den Inhalt der Info von der RS232 in eine Variable bringen und dann diese in dem Textfenster ausgeben oder denke ich schon wieder falsch. sorry habe warscheinlich gerade ein Brett vorm Kopf oder stehe auf der Leitung Habe heute einiges ausprobirt so mit Button und Textfenster 2 werte + und - und so weiter das ich mich einwehnig besser auskenne aber die RS232 will nicht (oder das Brett ist zu groß |:-(
Allso wennst mittels Button du einen Text vom Textfeld1 in den Textfeld2 bringen kannst, passt es schon. Du musst natürlich auch zuerst die RS232 initialiseren (COM-Port, BaudRate, Open) und auch Schließen (close). Diese beiden Sachen kannst z.B. hinter einem Open und einem Close-Button legen. Natürlich wird dir jetzt die RS232 nicht den fertigen Temperaturwert zurückliefern sonder z.B. ein Zeichen nach dem anderen oder eine ganze Zeile bis LineFeed(LF) und/oder CR. Wegen Inhalt in Variable und so: kannst ja z.B. sagen: text1.Text=rs232.readChar(); // müsste so gehen Dann zeigt dir das Textfeld immer den letzten empfangenen Buchstaben an.
Ich habe ein Alix1c Board mit WinXPproSp2enu drauf. Dieses Board hat einen Winbond W83627HF super I/O controller, bei dem einige GPIOs ueber eine Sockelleiste zugaenglich sind. Ich habe schon etwas mit C# und ASP.NET 2 programmiert, aber nur Webinterfaces. Noch nie etwas Richtung Hardware. Bis jetzt habe ich vergeblich gesucht, wie ich mit C# diese GPIOs programmieren kann. Ich geh mal davon aus, dass ich direkt auf eine Address-Location gehen muss zum Lesen und Schreiben, hab aber absolut keine Idee, wie ich sowas mit C# mache. Bin dankbar fuer jeden schlauen Tip! -Didi
Weinga-Unity! meld dich ma bitte via Mail bei mir! würd gern ma wissen, wie du das Systray geschreiben hast! überleg schon wegen ner erweiterung via lan und/oder USB!^^ Mail: DJ_SPEEDCAT@yahoo.de
Lieber Weinga-Unity Ich würde gerne in einer anderen sache mit die Kontakt aufnehmen. Falls du lust hast ein Prog zu machen wäre es nett wenn dich mal melden würdet Mail: d-p-b-d@freenet.de Gruß
Der Thread ist ziemlich alt. Ich glaube nicht, dass er noch mitliest ;) Aber wenn du willst, kannst du dich auch bei mir melden. Vielleicht kann ich helfen. Bin in Delphi, aber auch in C# ziemlich fit... Chris Edit: Melden kann man sich bei mir via PN...
df311 schrieb: > java programme ohne runtime zum laufen zu bringen ist schon knifflig. es > gibt programme, die aus einer runtime-umgebung und dem programm ein > executable erzeugen, allerdings sind diese 1. teuer und 2. dauert die > erstellung ziemlich lang. > da allerdings auf fast jedem pc eine jre (laufzeitumgebung) installiert > ist bzw. diese einfach bei sun heruntergeladen werden kann dürfte die > verteilung von programmen kein allzu großes problem darstellen. JSmooth bietet einen Exewrapper der bei Bedarf automatisch eine JRE installiert. Habe ich hier auch eingesezt: Beitrag "Grafikkonverter Tool für AVR/Mikrocontroller (BMP2C, BMP2ASM, BMP2BASCOM)"
Hallo, ich hätte da ne Frage.Ich interresiere mich schon lange für Computer und hab meine Pcs auch selber gebaut aber ich würde jetzt gerne lernen Programme zu schreiben!Könnte mir vielleicht jemand mal helfen zu zeigen wie das geht? Ich würde mich sehr freuen :D Denn bis jetzt hab ich nur erfahrung in Sachen "html"(hab meine website selber geschrieben) Danke schon im Vorraus!!!!:D
Philipp schrieb: > Programme zu schreiben!Könnte mir vielleicht jemand mal helfen zu zeigen > wie das geht? Was du auf jeden Fall brauchst (egal welche Programmiersprache): vernünftige Literatur. Und damit meine ich ein richtiges Buch, keinen Online-Kurs. Die meisten Einführungsbücher in eine Programmiersprache sind wie ein Lehrgang aufgebaut. Beginnend bei 0 wird die Sprache systematisch entwickelt und aufgebaut. Hüte dich vor Büchern mit 'Komplettes C in 21 Tagen" oder "Nachschlagewerk" im Titel. Ein Nachschlagewerk ist super, wenn du eine Sprache schon kannst. Es gibt immer irgendwelche Details, die man nachschlagen muss, kein Mensch kann sich alles merken. Aber für den Anfang ist das nichts. Zu viele (am Anfang irrelevante) Details verwirren nur. Nur mit Literatur bewaffnet sollte es im Prinzip natürlich möglich sein, zumindest die Grundlagen eigenständig zu erlernen. Oftmals besser, als wenn dir das ein menschlicher Lehrer erzählt. Der Grund: Die Bücher werden immer wieder und wieder Korrektur gelesen und auf sinnvollen Kapitelaufbau und Vollständigkeit (soweit in diesem Kapitel sinnvoll) durchgesehen und redigiert ehe sie in den Druck gehen. Ein menschlicher Lehrer tendiert dazu, gerade die Anfangsstunden mehr aus dem Stegreif zu halten und vergisst dabei üblicherweise vieles (ist mir auch nicht anders gegangen). Allerdings kommt immer irgendwann der Punkt, an dem Dinge im Buch unklar sind, weitere Erläuterungen notwendig sind oder man denselben Sachverhalt auch mal anders erzählt benötigt um ihn zu verstehen. Da sind dann menschliche Gegenüber nicht zu schlagen, weil sie gezielt auf deine Probleme eingehen und sich an deinen Wissenstand anpassen können. Und von da an wird sich deine Literatursammlung zunächst mal explosiv vermehren: wahrscheinlich werden dann Bücher über Datenstrukturen, Basisalgorithmen, GUI-Design und dergleichen mehr dazukommen, die als Gute-Nacht-Lektüre herhalten müssen. Aber bis du soweit bist, ist schon der erste Winter vorbei und dann können wir uns gerne nochmal darüber unterhalten, wies weiter gehen soll. Wenn du am PC unter Windows programmierst, rate ich dir zunächst zu (schluck, hätte nie gedacht das mal zu sagen) C#. Damit sind graphische Oberflächen schnell gemacht und das Framework ist umfangreich genug, dass du das nächste Jahr genügend zu erforschen hast. Wenn du lieber in die C oder C++ Schiene gehst, solltest du fürs erste einen Bogen um graphische Oberflächen machen. Diese sind nicht Sprachbestandteil und bei jedem System anders. Macht aber nichts, nur mit den Mitteln der Standardein/ausgabe bewaffnet, kann man immer noch jede Menge interessante Projekte abwickeln, ehe man anfängt dem Ganzen eine GUI überzustülpen.
Karl heinz Buchegger schrieb: > Damit sind graphische Oberflächen schnell gemacht und das Framework ist > umfangreich genug, dass du das nächste Jahr genügend zu erforschen hast. Das gilt ebenso für C++ und Qt. :)
Kannst du mir trotzdem vielleicht eine kleine einführung in das programmieren geben!!!!Ich würde mich sehr freuen! Danke schon im vorraus:D
das ist süß. hast du's schon mal mit einem buch probiert?
Philipp schrieb: > Kannst du mir trotzdem vielleicht eine kleine einführung in das > programmieren geben!!!!Ich würde mich sehr freuen! Nein, kann ich nicht. Ich tipp mir hier nämlich nicht über 200 Seiten die Finger blutig
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.