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é
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
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
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
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. :)
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