2009-07-09 13 views
7

Ich mache seit einiger Zeit Desktop-Programmierung, möchte aber mit der Hardware-Anbindung beginnen. Insbesondere würde ich gerne lernen, wie man serielle Ports benutzt, um ein externes Ereignis zu machen und meine Anwendung zu warnen (so kann ich zum Beispiel eine Kamera einschalten, wenn eine Bewegung von einem externen Sensor erkannt wird). Bitte sagen Sie mir, wie Sie beginnen, welche Art von Sensoren, welche Bücher (oder Online-Ressourcen) verfügbar sind. Ich habe Bing und Google ausprobiert, aber ich brauche mehr Hinweise.Wie beginne ich mit der Programmierung der Hardwareschnittstelle?

Antwort

0

Wenn Sie ein altes Modem online oder craigslist finden können, könnte das ein guter Anfang sein. Die seriellen Kommunikationsspezifikationen für diese sind ziemlich gut dokumentiert.

Danach würde ich gerade beginnen, Dinge zu untersuchen, die Sie interessieren - Ihr Interesse an dem Projekt wird das Lernen und den Fortschritt mehr als alles IMO vorantreiben.

denke ich, diese Seite ein paar lustige Dinge hat, um zu versuchen:

http://blogs.msdn.com/coding4fun/

0

Ich würde Sie das Buch empfehlen Linux Device Drivers 3rd Edition

Obwohl ich eine Hardware-Schnittstelle noch nicht programmiert haben, denke ich, dieses Buch wird dich bereit machen, mit dem Hacken zu beginnen.

1

Es gibt wirklich nicht viele one-size-fits-all-Tipps für diese. Sie müssen sich die Dokumentation Ihres Geräts ansehen, es sollte das Protokoll angeben, was es über den seriellen Port sendet und welche Befehle Sie im Gegenzug senden können.

Stellen Sie sicher, dass Sie verstehen, was eine Textcodierung wie ASCII oder UTF8 bedeutet. Die meisten Geräte, die Text senden und erwarten, verwenden eine ASCII-Codierung.

Ich bin mir nicht sicher, welches Betriebssystem oder welche Sprache Sie verwenden, aber beachten Sie, dass Sie rohe Binärdaten über eine serielle Schnittstelle senden. Wenn Sie also beispielsweise C# verwenden, möchten Sie Ihre Seriennummer einpacken Port-Datenstrom mit einem StreamWriter oder StreamReader mit der korrekten Textcodierung.

0

Wenn Sie nur die Verwendung der seriellen Schnittstelle erlernen möchten, holen Sie sich einen anderen PC mit HyperTerminal (im Lieferumfang von Windows enthalten) und verwenden Sie ihn zum Senden und Empfangen von Daten von Ihrem Entwicklungsgerät über die serielle Schnittstelle. Dies gibt Ihnen eine sehr manuelle Kontrolle darüber, was an Ihre Entwicklungsbox gesendet wird, damit Sie sicher sein können, dass das, was Sie lesen und schreiben, korrekt ist. Sobald Sie die Grundlagen für die serielle I/O-Funktion verloren haben, können Sie zu Ihrer Kamera/Ihrem Bewegungssensor/etc weitergehen.

Sie erwähnen nicht, welches Betriebssystem oder welche Entwicklungsumgebung Sie verwenden, aber in VS 2005/.NET 2.0 gibt es tatsächlich eine SerialPort-Klasse. Wenn Sie eine unformatierte Windows-API ausführen, hat MSDN einen Artikel unter http://msdn.microsoft.com/en-us/library/ms810467.aspx, der die Grundlagen behandelt. Wenn Sie ein anderes Betriebssystem verwenden, tut mir leid, dass ich nicht so vertraut bin (ich weiß, buh zisch auf mich).

Das Wichtigste ist, dass Sie Ihre Kommunikationsparameter auf beiden Seiten der Verbindung gleich einstellen. Es gibt vier Parameter, die bestimmen, ob beide Seiten einander verstehen können: Baudrate, Bits pro Byte (normalerweise 8), Paritätsbits (gerade Parität, ungerade Parität, keine oder immer 1 oder 0) und Stoppbits. HyperTerminal listet auch eine "Flow Control" -Option auf, ich empfehle, sie auf "None" zu setzen, bis Sie sich wohl fühlen. Xon/Xoff Flusskontrolle ist eine ziemlich übliche Art, die andere Seite zu unterbrechen, während Sie einen Puffer voller Daten verarbeiten.

0

Kaufen Sie einen Mikrocontroller und bauen Sie einen einfachen Roboter, CNC-Mühle oder so etwas. Atmel AVR und/oder PIC ist am häufigsten von dem, was ich verstehe.

gibt auch viel Elektronik Erfahrung

2

Serielle Schnittstellen relativ einfach zu handhaben sind. Aber sie erfordern eine Art von Decoder am anderen Ende (z. B. UART). Eine andere Option wäre die Verwendung der parellel port. Der Vorteil der Verwendung eines parallelen Ports besteht darin, dass Sie mit einem Ausbruch der I/O-Pins beginnen. Sie können normalerweise 8 Geräte mit einer sehr einfach zu erstellenden Schnittstelle steuern.

Die meisten Plattformen bieten eine einfache Möglichkeit, ohne viel Aufwand auf die LPT-Ports zuzugreifen und sie sind sehr einfach zu bedienen.

Schnelle Ergebnisse für Tutorien ...

LPT-Port Info ...

+0

Computer heutzutage haben keine parallele Ports. Tun sie? – atiyar

+0

Die meisten nicht, aber dieser Beitrag in 7 Jahren alt und Sie können diese Muster immer noch mit 'USB zu LPT' Geräten verwenden. Besser noch gibt es jetzt Hunderte von Möglichkeiten, dies ohne LPT zu tun. https://www.amazon.com/s/?field-keywords=usb+gpio+module –

Verwandte Themen