Hallo, ich will Daten seriell über einen USB-Adapter an den PC übermitteln und dort mit einem einfachen Programm auswerten. Das Programm soll nach Möglichkeit mindestens unter XP und Win7 laufen. Habe das Buch "USB in der Elektronik" von J. Hulzebosch vorliegen. Dort sind viele Programmbeispiele zur Datenübertragung für Visual Basic (VB) aufgeführt. Das Buch ist von 2008. Leider werden dort, so weit ich das sehe, keine weiteren Angaben gemacht, welche Visual Basic Version verwendet werden soll. Kenne mich leider mit VB in der Praxis bisher nur wenig aus. Habe einige Literatur zu Visual Basic 2008 ( = VB.NET?) besorgt, das scheint aber eine ganz neue, eigene Entwicklung von VB zu sein und ich bezweifle, dass sie so ohne weiteres mit den Beispielen im Buch funktioniert (bitte gegebenenfalls korrigieren!). Wahrscheinlich wird eher Visual Basic 6 (Visual Basic Classic) benötigt?! Frage: Welche VB-Version wäre nun für mein Ansinnen ausreichend? Hier noch mal die Anforderungen: - Programm soll mindestens unter XP und Win7 laufen - nach Möglichkeit einfacher Installationsaufwand - serieller Datenaustausch über USB möglich - einfache graphische Darstellung von Messwerten in einem Koordinatensystem - nach Möglichkeit downloadbare kostenlose Entwicklungsumgebung
überhaupt kein VB. Mache es mit C# - Seriell ist dort überhaupt kein Problem. Läuft auf alles aktuellen Windows Versionen ohne Zusatz Installation. Kannst es auch mit VB.net machen, aber wenn du es erst lernen musst macht es wenig sinn. Dann kannst du auch C# lernen. Dafür findest du auch genug Beispiele im Netz.
g_reichert schrieb: > Das Buch ist von 2008. > Leider werden dort, so weit ich das sehe, keine weiteren Angaben > gemacht, welche Visual Basic Version verwendet werden soll. Ich halte es für ziemlich unwahrscheinlich, daß ein 2008 erschienenes Buch sich noch mit der Steinzeitversion VB6 beschäftigt. VB6 ist nicht von 2006, sondern von 1998. VB.net gibt es seit 2002. Dieses Buch wird sich von daher auf irgendeine VB.net-Variante beziehen. Peter II schrieb: > überhaupt kein VB. > > Mache es mit C# Das ist nicht nötig. Die grundlegenden Mechanismen sind bei allen .Net-Sprachen identisch, nur der obendrüberliegende syntaktische Zuckerguss unterscheidet sich.
Rufus Τ. Firefly schrieb: > Das ist nicht nötig. Die grundlegenden Mechanismen sind bei allen > .Net-Sprachen identisch, nur der obendrüberliegende syntaktische > Zuckerguss unterscheidet sich. nötig nicht. Aber ich halte es für sinnvoll. VB ist vom Syntax her immer anders als übliche Programmiersprachen. mit C# wissen kann man später mehr anfangen also mit VB-Wissen.
Hallo, Danke für die schnellen Antworten! Mir persönlich ist es eigentlich relativ egal ob VB oder C#, da ich mich eigentlich nur von früher mit Quickbasic und von der µC-Programmierung halbwegs mit C auskenne und beides wohl weder mit VB, noch mit C# nennenswert verwandt sein dürfte. Peter II schrieb: > mit C# wissen kann man später > mehr anfangen als mit VB-Wissen. Wenn dem so ist würde ich tatsächlich eher zu C# tendieren.
Tja, das liegt im Auge des Betrachters. Der Threadersteller hat ein Buch mit Programmbeispielen, und mit --davon gehe ich zumindest aus-- weiterführenden Erläuterungen, da wäre es schon sinnvoll, wenn er das Buch auch anwenden und umsetzen kann. Ein Buch ist irgendwelchen "Online-Tutorials" gegenüber überlegen.
zeige uns doch mal ein Beispiel code aus dem Buch. Daran sollte man schon erkennen ob das VB.net oder VB6.0 ist.
Rufus Τ. Firefly schrieb: > Tja, das liegt im Auge des Betrachters. Der Threadersteller hat ein Buch > mit Programmbeispielen, und mit --davon gehe ich zumindest aus-- > weiterführenden Erläuterungen, da wäre es schon sinnvoll, wenn er das > Buch auch anwenden und umsetzen kann. wobei wir nicht wissen ob es für VB6.0 oder VB.net ist - und das ist nicht das gleiche.
Peter II schrieb: > zeige uns doch mal ein Beispiel code aus dem Buch. Daran sollte man > schon erkennen ob das VB.net oder VB6.0 ist. Im Anhang der Inhalt des Ordners von Beispiel 1 und die Datei Module.bas Rufus Τ. Firefly schrieb: > Ein Buch ist irgendwelchen "Online-Tutorials" gegenüber überlegen. Hallo Rufus, gut erkannt! Wenn ich auf die Schnelle keine Hardware-Literatur zu C# bekomme, bleibt es bei VB.
Was macht eigentlich die Setup.exe (Setup Bootstrap ...)?
g_reichert schrieb: > Im Anhang der Inhalt des Ordners von Beispiel 1 und die Datei Module.bas das sieht wirklich nach alten VB aus - das hilft also nicht wirklich weiter.
Also für dein Problem braucht man eigentlich kein Buch. Es gibt fertige Beispiele, diese muss man nur zusammensetzen. Ob man dann VB.NET oder C# nimmt ist vollkommen egal. Beide sind vom .NET Framework abhängig, somit laufen sie (wenn man von umständlichen inoffiziellen Tricks absieht) nur auf Windows. Die Umgebung ist gleich, die Idee hinter der Sprach gleich. Der Syntax etwas verschieden. Der eine eben an Basic angelehnt, der andere an C. Je nachdem was dir lieber ist. Für die serielle Schnittstelle suchst du am einfachsten nach COM Port, dann findest du zahlreiche Beispiele und erklärungen: http://www.lvr.com/serial_ports_dotnet.htm http://forum.arduino.cc/index.php?PHPSESSID=urtpuptafq82jdn4dgqnpe6ga4&topic=185085.msg1371171#msg1371171 http://www.innovatic.dk/knowledg/SerialCOM/SerialCOM.htm Zur visuellen Anzeige kannst du auf fertige Controls zurückgreifen: http://blogs.msdn.com/b/davidlean/archive/2009/04/20/free-chart-controls-for-net-windows-and-web-handy-links.aspx oder du zeichnest den Graphen von selbst. Ist auch keine Kunst. Das ganze gibt es auch fertig: http://www.codeproject.com/Articles/42557/Arduino-with-Visual-Basic
Peter II schrieb: > das sieht wirklich nach alten VB aus Dann ist das eingetreten, was ich für unwahrscheinlich hielt. Tja, die Ewiggestrigen, die an VB6 festhalten, die scheint es übrigens immer noch zu geben.
Danke für die Antworten! Frank M. schrieb: > Ob man dann VB.NET oder C# nimmt ist vollkommen egal. Beide sind vom > .NET Framework abhängig, somit laufen sie (wenn man von umständlichen > inoffiziellen Tricks absieht) nur auf Windows. Dann muss man in jedem Fall .NET Framework installiert haben. Frank, Danke für die Links!!! Ok, dann denke ich mal in Ruhe darüber nach, was der nä#chste Schritt wird. Falls jemand noch weitere Ideen, Hinweise und/oder Anregungen zu Thema hat, immer her damit! Eine Frage hätte ich noch: Was wären die Vor(?)/Nachteile bei Verwendung des alten VB?
Frank M. schrieb: > Beide sind vom > .NET Framework abhängig, somit laufen sie (wenn man von umständlichen > inoffiziellen Tricks absieht) nur auf Windows. apt-get install mono ist das schon ein inoffiziellen Trick? Meine Programm laufen zumindest unter Linux bis jetzt ohne Probleme.
g_reichert schrieb: > Dann muss man in jedem Fall .NET Framework installiert haben. auf welchen aktuellen Windows ist das es denn nicht drauf?
Peter II schrieb: > auf welchen aktuellen Windows ist das es denn nicht drauf? Ist die Frage, was man unter aktuell versteht. Mein Bastel/Programmier-Rechner hat noch XP drauf (soll demnächst Win7 drauf, im Moment wie gesagt aber noch XP installiert).
Peter II schrieb: > Frank M. schrieb: >> Beide sind vom >> .NET Framework abhängig, somit laufen sie (wenn man von umständlichen >> inoffiziellen Tricks absieht) nur auf Windows. > > apt-get install mono > > ist das schon ein inoffiziellen Trick? > > Meine Programm laufen zumindest unter Linux bis jetzt ohne Probleme. Ich gebe vorweg zu, ich habe mich nicht ausführlich mit dem Thema beschäftigt, also lasse ich mich gerne eines besseren belehren. C#, VB.NET, ... sind von MS entwickelte und gepflegte Sprachen, die die von MS offiziell vertriebene .NET Laufzeitumgebung benötigen, welche nur auf Windows läuft. Mono ist ein Versuch .NET Progarmme auch auf Linux etc. zum Laufen zu bringen, in kurz die CLI platformübergreifend zu implementieren. Somit ist es in meinen Augen eine inoffizielle Erweiterung, da MS, die Firma die viele Rechte/Patente auf ihre Sprachen besitzt, Mono nicht unterstützt, sondern als 'Pseudokonkurrent', vermutlich gerne, toleriert. Schaut man bei Wikipedia mal auf die CLI-übersicht: http://de.wikipedia.org/wiki/Common_Language_Infrastructure So steht dort: ".NET von Microsoft (Implementierung für Windows, die den Standard um zahlreiche weitere Klassenbibliotheken erweitert)" Was mir eben sorgen bereiten würde, da durch diese Erweiterungen ich die Sorge hätte, dass eben nicht jedes .NET Programm auf Mono läuft. Und tatsächlich, unter Mono findet man auf Wikipedia: http://de.wikipedia.org/wiki/Mono-Projekt "Anwendungen, die auf .NET 3.0, .NET 3.5 oder .NET 4.0 basieren, sind derzeit unter Mono unter Umständen nicht lauffähig, da bislang nur eine Teilmenge umgesetzt ist. Es fehlen Windows Presentation Foundation, Windows Workflow Foundation und teilweise Windows Communication Foundation" Da ich selbst viel in Visual Basic Classic programmiere kann ich mich ja kaum beschweren, da auch VB 6.0 ein Framework braucht und noch stärker an Windows gebunden ist. Andereseits sehe ich daran die großen Nachteile einer solchen Abhängigkeit von einem einzigen Hersteller und ärgere mich jedes mal aufs neue, dass MS langsam aber sicher VB Classic Programme inkompatibel zu neueren Windows Versionen macht. Schaut man in die Zukunft, so ist es offensichtlich, dass der Großteil aller 'Computer' (ob Smartphone, Tablet, Laptop, ...) im Haushalt nicht mehr mit Windows laufen und daher vielleicht gerne seine Programme auch auf Nicht-Windows Maschinen laufen lassen würde. Da stelle ich mir andere Sprachen sinnvoller vor. Nichts desto trotz, es war nur als Anmerkung gemeint, dass falls er in Zukunft planen sollte bspw. die Auswertung auf seinem iOS/Android Smartphone/Tablet zu visualisieren er vielleicht besser dran ist eine andere Sprache zu verwenden/erlernen also nun viel Zeit in eine .NET Sprache zu investieren.
Hallo, g_reichert schrieb: > Mir persönlich ist es eigentlich relativ egal ob VB oder C#, da ich mich > eigentlich nur von früher mit Quickbasic und von der µC-Programmierung > halbwegs mit C auskenne und beides wohl weder mit VB, noch mit C# > nennenswert verwandt sein dürfte. Wenn Du ohnehin eine neue Programmiersprache lernen möchtest, warum dann nicht gleich eine moderne und plattformunabhängige Skripsprache wie Python? Der Zugriff auf serielle Schnittstellen ist dank des "serial"-Moduls im wahrsten Sinne des Wortes ein Kinderspiel und die Visualisierung der Daten kann über etliche verschiedene Wege erfolgen -- über die Python-eigene GUI mit Tkinter/Tix, über eine externe GUI-Library wie Qt oder wxWidgets oder über das grandiose Python-Modul Matplotlib, das gerne im wissenschaftlichen Umfeld verwendet wird und nahezu keine Wünsche offen läßt. Und als kleines Extra funktioniert das Ganze dann auch unter Windows, MacOS und Linux. HTH, Karl
Karl Käfer schrieb: > Wenn Du ohnehin eine neue Programmiersprache lernen möchtest, warum dann > nicht gleich eine moderne und plattformunabhängige Skripsprache wie > Python? weil es immer noch Scriptsprachen sind. Also Fehler erst zu Laufzeit auffallen. Frank M. schrieb: > Mono ist ein Versuch .NET Progarmme auch auf Linux etc. zum Laufen zu > bringen, in kurz die CLI platformübergreifend zu implementieren. Somit > ist es in meinen Augen eine inoffizielle Erweiterung, da MS, die Firma > die viele Rechte/Patente auf ihre Sprachen besitzt, Mono nicht > unterstützt, sondern als 'Pseudokonkurrent', vermutlich gerne, > toleriert. was MS hat sind Module sie sie in ihrer Runtime hinzufügen. Wie bei Java einige Klassen von SUN (Oracle) > Es fehlen Windows Presentation Foundation, > Windows Workflow Foundation und teilweise Windows Communication > Foundation" ja, aber das braucht man nun nicht wirklich. Viele Projekte laufen unter WindowsForms und die "Windows Communication Foundation" hat nichts mit Seriell oder LAN direkt zu tun. Sie stellt also keine Einschränkung für diese diesen Anwendungsfall dar. .net ist läuft auf ARM, x86 und 64bit ist damit also schon recht Platformunabängig. > Zukunft planen sollte bspw. die Auswertung auf seinem iOS/Android > Smartphone/Tablet zu visualisieren er vielleicht besser dran ist eine > andere Sprache zu verwenden/erlernen also nun viel Zeit in eine .NET > Sprache zu investieren. und was glaubst du wie Windows Phones Programmiert werden? Adroid ist Java, Ios ist ObektivC also hier ist man mit keiner Sprache überall dabei.
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.