Com Ports
-
Hallo liebe Leute,
ich würde gerne wissen wie man ein Com Port öffnet, ausliest und auf ihn schreibt
Habe schon mehrfach gegoogelt, aber irgendwie finde ich nicht das passende
In Java habe ich das alles schon hinbekommen, aber dazu in C++ finde ich nichts
Meistens habe ich nur einzelnde Befehle gefunden, aber nicht den kompletten Zusammenhang mit includes und so weiter...Würde mich gerne über Tipps, Links, Code und etc. freuen.

-
da das mit standard-c++ nicht geht musst du halt schon das os dazuschreiben...
-
In C++ selbst, gibt es das nicht. Es gibt aber Bibliotheken und Betriebssystem-Funktionen, die Du von C++ aus nutzen kannst.
Für welches Betriebssystem brauchst Du es?
Falls Windows, dann schaue Dir dies an: http://www.codeproject.com/Articles/992/Serial-library-for-C
-
Tipp: suche mit Google nicht nach "COM Port" sondern nach "Serial Port" und gib Betriebssystem und "C++" mit an
-
@asfsdf was meinst du damit?
@Werner_logoff ja für Windoofbtw. Habe noch nicht so viel Erfahrung in Programmieren, bin erst seit 3 Monaten dabei

-
Falls du Boost benutzt gibt es in Boost.Asio Unterstützung dafür:
http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/serial_port.htmlFalls nicht, ist diese Library (sehr klein und einfach) sehr zu empfehlen:
http://www.codeproject.com/Articles/992/Serial-library-for-C
-
Nur der Vollständigkeit halber die "native" Variante ohne Wrapper-LIBs:
Unter Windows macht man COM Ports über
CreateFileauf.
Als Filenamen verwendet man\\.\DeviceName, also z.B.\\.\COM1.
(\ escapen nicht vergessen, also als C++ String-Literal dann"\\\\.\\COM1")Also z.B.:
HANDLE portHandle = ::CreateFileW(L"\\\\.\\COM1", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);Lesen/Schreiben tut man dann ganz normal über
ReadFile/WriteFile, und den Rest erledigt man mit der Communications Functions.