Ich bin ein versierter Visual Basic Programmierer. Ich möchte lernen, wie Leute Hardware programmieren. Zum Beispiel habe ich Leute gesehen, die LED-Uhren, Boxen usw. herstellen. Wie erreichst du das? Kann es mit VB oder Java gemacht werden? Ich habe einige Erfahrung im Lesen von C, C ++ Code. Ich kenne nur IO in der C und C ++ Sprache.
Wahrscheinlich suchen Sie nach einem programmierbaren Mikrocontroller. Wenn Sie Erfahrung in C / C ++ / Java haben, checken Sie Arduino . Sein Chip ist mit einer C-ähnlichen Sprache programmiert. Diese " How tos " Seite könnte Ihnen beim Einstieg helfen. Es gibt auch einige gute Bücher, die Ihnen helfen werden voranzukommen:
Verkabelung ist eine Arduino ähnliche Plattform.
Sehen Sie sich auch die Programmiersprache Forth an. Es gibt viele interessante "winzige" Computer ", dass Sie mit dieser eher ungewöhnlichen Sprache programmieren können. Hier ist eine unvollständige Liste:
Zwei berühmte Forth Bücher:
Wie Leute Hardware programmieren
Wenn unter 'Hardware' ein eigenständiges Gerät (ein eingebettetes System) verstanden wird, beinhaltet der Prozess eine cross-compilation . Der Code für das Gerät wird in einer (Hoch-) Sprache auf einem Host PC geschrieben, kompiliert und in eine Form konvertiert, die zum Herunterladen auf das Zielgerät geeignet ist.
Ein Cross-Compiler erzeugt ausführbaren Code für eine andere Plattform als die, auf der er läuft - zum Beispiel erzeugt ein AVR-Cross-Compiler Code für den AVR-Mikrocontroller, aber der Compiler läuft auf einem PC. Universell werden Assembly und C verwendet, und in gewissem Maße C ++, Java und Ada.
Wenn unter "Hardware" ein Gerät verstanden wird, das über einen Port (seriell, parallel, USB) mit dem PC verbunden ist, umfasst die Programmierung eine Interaktion über diesen Port, möglicherweise auch einen Gerätetreiber.
Kann es mit VB oder Java gemacht werden?
Ich bin mir nicht sicher über VB (vielleicht gibt es VB-Compiler für WinCE und seinesgleichen). Java wird auf komplexeren / größeren eingebetteten Systemen (z. B. Mobiltelefonen) verwendet, hauptsächlich um Benutzeranwendungen für das Gerät zu entwickeln.
Erstellen Sie eine LED-Uhren, Boxen usw. Wie erreichen Sie das?
Wenn Sie etwas wie eine LED-Uhr entwickeln möchten, müssen Sie lernen, wie man einen Mikrocontroller programmiert. Zumindest brauchen Sie zwei Komponenten: den Mikrocontroller und einige Hardware, die Programme darauf lädt (ein Programmierer ). Sie können in ein Entwicklungsboard investieren oder eines selbst bauen. Natürlich benötigen Sie auch den Cross-Compiler und die Software, die mit dem -Programmierer interagiert, damit er Code laden kann.
Ich bin teilweise AVR, also würde ich das vorschlagen. Andere Optionen sind PIC, einige Varianten von 8051, PSoC1 und TIs MSP-Geräte.
Die AVR-Werkzeugkette ist in WinAVR gebündelt und beinhaltet avr-gcc (Cross-Compiler-Frontend), avrdude (Software das interagiert mit der Programmierer Hardware) und eine C-Bibliothek (avr-libc) + eine Reihe von nützlichen Tools. Programming Hardware kann so einfach wie DAPA / bsd zu USB-basierten (AVRISP, USBasp, Usbprog) usw. sein.
Wenn Ihr PC noch über einen parallelen Port verfügt, können Sie versuchen, eine Gruppe von LEDs mit einer in VB geschriebenen Anwendung zu steuern. Überprüfen Sie Ссылка für Details.
Ich würde empfehlen, mit etwas wie einem Arduino zu beginnen, was ein guter Ort ist, um mit der Programmierung in der Nähe der Hardware zu beginnen. Es ist ein Prototyping-Board mit einigen eingebauten LEDs und anderen Dingen, je nachdem welches Modell man bekommt. Sie können C / C ++ oder jede andere Sprache verwenden, die in ein Format kompiliert werden kann, das mit der Zielhardware kompatibel ist (ATMega-Mikrocontroller, glaube ich an das Arduino).
Schauen Sie nach: Ссылка
Wenn Sie nur etwas an den seriellen / parallelen Anschluss des Computers anschließen und mit ihm "sprechen" möchten, können Sie die meisten Sprachen verwenden. In Visual Basic benötigen Sie eine DLL, um dies zu erreichen. Java könnte das auch können. Wenn Sie einen Mikrocontroller-Chip programmieren wollen, lernen Sie am besten C, da dies die Sprache ist, die verwendet wird, um die meisten von ihnen zu programmieren, obwohl einige von ihnen Basic, Java, Processing und C ++ akzeptieren.
Es gibt eine Reihe von Standardmarken, mit denen Sie Ihre Füße nass machen können. Parallax zum Beispiel ging von basisbasierten Embedded Systemen aus. Wenn Sie auf dieser Programmierebene vorwärts gehen wollen, müssen Sie wirklich C für die meiste Abdeckung lernen, und ich empfehle Assembler ebenso, mindestens ein paar verschiedene Befehlssätze.
Vielleicht interessiert dich Gadgeteer . Ich habe vor ein paar Wochen mit einem Kit gespielt und es macht unglaublich viel Spaß. Sie können derzeit nicht VB, aber Sie können C # tun und VB kommt sehr bald .