Grundlegendes Beispiel für die serielle Kommunikation mit Windows XP / Win32

8

Ich arbeite mit einem Peripheriegerät, das seriell kommuniziert werden muss. Ich kann Befehle mit HyperTerminal senden, aber jetzt muss ich Programme schreiben, die es mir ohne HyperTerminal erlauben. Kann mir jemand auf eine Website zeigen und / oder zeige mir ein Beispiel Hallo Weltprogramm, um mich zu starten? Ich habe viele Seiten durchsucht, die mir den unkompilierbaren / uralten VC6-Code geben.

    
dsolimano 26.10.2008, 03:39
quelle

5 Antworten

6

Um mit der seriellen Schnittstelle zu verbinden, öffnen Sie eine Datei mit einem der speziellen Dateinamen "COM1" bis "COM9". Bei seriellen Ports mit höheren Nummern beginnt der spezielle Dateiname mit \\? \, Was im C / C ++ - Code als "\\\\? \\ COM10" usw. maskiert werden muss.

Ссылка hat ein wirklich gutes Tutorial zur Verwendung des seriellen Ports. Beachten Sie, dass Sie die Windows-Datei-E / A-Funktionen wie CreateFile() , ReadFile() und WriteFile() verwenden sollten. Ich bin mir nicht sicher, ob es funktioniert, Standard-I / O-Funktionen wie fopen() , fread() und fwrite() zu verwenden.

    
Adam Rosenfield 26.10.2008 03:41
quelle
4

Microsoft bietet einen Artikel mit Beispielcode , der beschreibt, wie man dies unter Win32 macht.

    
Glomek 26.10.2008 03:47
quelle
1

Boost: asio kann möglicherweise als Serie helfen Gerät wurde kürzlich hinzugefügt.

Faire Warnung obwohl; Die Dokumentation der seriellen Schnittstelle ist light , vermutlich weil sie ziemlich neu ist (sie wurde in Asio 1.1.1 hinzugefügt, das in Boost 1.36 enthalten war).

Aber das Arbeiten mit asio ist meiner Meinung nach eine bessere Lösung als die rohe Win32-API. Warum? Es wird einfacher zu lesen und zu warten sein (es ist eine API auf höherer Ebene) und es wird plattformübergreifend sein (außer dort, wo Sie den Betriebssystemspezifischen Gerätenamen angeben müssen).

Die Boost - Benutzer und asio.user Mailinglisten sind ziemlich aktiv und freundlich und sollten Ihnen helfen können, wenn Sie nicht weiterkommen.

    
MattyT 26.10.2008 05:46
quelle
1
___ qstnhdr ___ Grundlegendes Beispiel für die serielle Kommunikation mit Windows XP / Win32 ___ answer237497 ___

Microsoft bietet einen Artikel mit Beispielcode , der beschreibt, wie man dies unter Win32 macht.

    
___ answer237491 ___

Um mit der seriellen Schnittstelle zu verbinden, öffnen Sie eine Datei mit einem der speziellen Dateinamen "COM1" bis "COM9". Bei seriellen Ports mit höheren Nummern beginnt der spezielle Dateiname mit \\? \, Was im C / C ++ - Code als "\\\\? \\ COM10" usw. maskiert werden muss.

Ссылка hat ein wirklich gutes Tutorial zur Verwendung des seriellen Ports. Beachten Sie, dass Sie die Windows-Datei-E / A-Funktionen wie %code% , %code% und %code% verwenden sollten. Ich bin mir nicht sicher, ob es funktioniert, Standard-I / O-Funktionen wie %code% , %code% und %code% zu verwenden.

    
___ tag123windows ___ ALLGEMEINER WINDOWS-SUPPORT IST OFF-TOPIC. Support-Fragen können unter https://superuser.com gestellt werden. Windows ist ein von Microsoft entwickeltes Betriebssystem. Verwenden Sie dieses Tag nur, wenn sich Ihre Frage auf die Verwendung von Windows-APIs oder Windows-spezifischem Verhalten in Bezug auf Ihren Code bezieht, nicht nur, weil Sie Ihren Code unter Windows ausführen. ___ answer237627 ___

Boost: asio kann möglicherweise als Serie helfen Gerät wurde kürzlich hinzugefügt.

Faire Warnung obwohl; Die Dokumentation der seriellen Schnittstelle ist light , vermutlich weil sie ziemlich neu ist (sie wurde in Asio 1.1.1 hinzugefügt, das in Boost 1.36 enthalten war).

Aber das Arbeiten mit asio ist meiner Meinung nach eine bessere Lösung als die rohe Win32-API. Warum? Es wird einfacher zu lesen und zu warten sein (es ist eine API auf höherer Ebene) und es wird plattformübergreifend sein (außer dort, wo Sie den Betriebssystemspezifischen Gerätenamen angeben müssen).

Die Boost - Benutzer und asio.user Mailinglisten sind ziemlich aktiv und freundlich und sollten Ihnen helfen können, wenn Sie nicht weiterkommen.

    
___ qstntxt ___

Ich arbeite mit einem Peripheriegerät, das seriell kommuniziert werden muss. Ich kann Befehle mit HyperTerminal senden, aber jetzt muss ich Programme schreiben, die es mir ohne HyperTerminal erlauben. Kann mir jemand auf eine Website zeigen und / oder zeige mir ein Beispiel Hallo Weltprogramm, um mich zu starten? Ich habe viele Seiten durchsucht, die mir den unkompilierbaren / uralten VC6-Code geben.

    
___ tag123winapi ___ Die Windows-API (früher als Win32-API bezeichnet) ist der Kernsatz von Anwendungsprogrammierschnittstellen, die für die Microsoft Windows-Betriebssysteme verfügbar sind. Mit diesem Tag können Sie Fragen zur Entwicklung nativer Windows-Anwendungen mit der Windows-API beantworten. ___ tag123serialport ___ Eine serielle Schnittstelle ist eine physikalische Schnittstelle, über die Daten Bit für Bit (uni- oder bidirektional) übertragen werden. Der Begriff bezieht sich normalerweise auf den RS-232-Anschluss mit einem 9-poligen D-Sub-Anschluss, der einst die Standard-serielle Schnittstelle eines PCs war. ___ answer237507 ___

Ich glaube, Sie werden auch viel Beispielcode für C # finden, wenn Sie VC6 zu alt finden. Ich denke, es gibt auch eine Reihe von "freien" seriellen / COM-Port-Wrappern, aber ich habe nur meine eigene geschrieben, als ich eine RS232-Controller-Software geschrieben habe.

Google C # und serielle Schnittstelle oder RS232

Ich habe diese:

Ссылка

Ссылка

Sie sollten kein Problem haben, geeigneten Code mit einer Google-Suche zu finden.

    
___ antwort438725 ___

Bei Verwendung von .NET 2.0 siehe System.IO.Ports und Dieser Artikel sollte hilfreich sein. Wenn direkt Win32, dann Adams Antwort ist am besten.

    
___
kenny 13.01.2009 11:46
quelle
0

Ich glaube, Sie werden auch viel Beispielcode für C # finden, wenn Sie VC6 zu alt finden. Ich denke, es gibt auch eine Reihe von "freien" seriellen / COM-Port-Wrappern, aber ich habe nur meine eigene geschrieben, als ich eine RS232-Controller-Software geschrieben habe.

Google C # und serielle Schnittstelle oder RS232

Ich habe diese:

Ссылка

Ссылка

Sie sollten kein Problem haben, geeigneten Code mit einer Google-Suche zu finden.

    
Tim 26.10.2008 03:51
quelle

Tags und Links