Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » COM Port ansteuern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
01.10.2009, 20:45 Uhr
j4n



Guten Abend zusammen

Ich muss die Daten eines Moduls auslesen, welches an den COM-Port abgeschlossen ist.
Wie gehe ich da vor?
Das ganze soll in C programmiert sein.

Grüße Jan
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.10.2009, 21:11 Uhr
0xdeadbeef
Gott
(Operator)


Der COM-Port lässt sich (wie auch einige andere Geräte) direkt als Datei ansprechen, also:

C++:
FILE *fd = fopen("COM1", "r");


...danach lässt sich das wie jede andere Datei behandeln. Mit Ausnahme von fseek, nehme ich an.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 01.10.2009 um 21:12 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.10.2009, 21:20 Uhr
j4n



Okay, dass es so simpel ist haette ich nicht gedacht. habe leider mit google nichts dergleichen gefunden. Werd es morgen gleich testen. Wird wohl auch mit C funktioniern?
Vielen Dank erstmal.

Dieser Post wurde am 01.10.2009 um 21:21 Uhr von j4n editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.10.2009, 21:24 Uhr
0xdeadbeef
Gott
(Operator)


Äh...das ist C.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.10.2009, 21:33 Uhr
j4n



Weil über dem Code "C++" steht.
Tut mir Leid, ist meine erste programmierung mit C...mir sind die Unterschiede zwischen c/c++ noch nicht ganz so klar, ausser dass c++ eher das objektorientierte darstellt.
habe bisher mit vb6 progarmmiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.10.2009, 21:51 Uhr
0xdeadbeef
Gott
(Operator)


Es gibt hier im Forum kein eigenes Tag für C-Code, deswegen steht das da. Die Einfärbung für C++-Code funktioniert in den allermeisten Fällen genau so gut für C, also braucht es das eigentlich auch nicht.

Die Unterschiede zwischen C und C++...naja, die ganz richtige Antwort ist, dass es zwei verschiedene Sprachen sind, wobei C++ halt auf C basiert und große Teile von C ebenfalls beherrscht. Es ist zwar für nahezu alle praktischen Anwendungen richtig, dass C++ eine Übermenge von ISO-C90 ist (es gibt ein paar kleine Unterschiede, aber die kommen einem eher selten vor den Compiler), allerdings unterscheidet sich die Struktur guten C++-Codes von der guten C-Codes grundsätzlich, und inzwischen gibt es ja auch ISO-C99, welches einige Features mitbringt, die C++ (noch?) nicht beherrscht, beispielsweise compound literals und VLAs.

Die am häufigsten benutzten C++-Features, die C nicht kann, sind wohl Klassen, Vorlagen, Operatorüberladung für komplexe Datentypen, Referenzen und die C++-Standardbibliothek. Diese sind allerdings auch die grundlegenden Strukturelemente, die guten C++-Code so stark von gutem C-Code absetzen.

Wie dem auch sei, fopen ist Teil der C-Standardbibliothek; in C++ hätte man stattdessen std::ifstream (bzw. std::ofstream für Ausgabe) benutzt.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.10.2009, 21:58 Uhr
j4n



Gut zu wissen. Vielen Dank, dass Sie sich die Mühe und Zeit dafür genommen haben, heutzutage auch nicht mehr selbstverständlich...

Grüße Jan
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.10.2009, 22:16 Uhr
0xdeadbeef
Gott
(Operator)


Naja, wenn ich hier im Forum schon antworte, ist es ja schon der Sinn der Sache, Informationen zu vermitteln. Ob das heute weniger selbstverständlich ist als früher...da hab ich so meine Zweifel dran.

Aber nochmal zur Kommunikation über den seriellen Port - Microsoft hat das hier im Detail erklärt. Die Beispiele dort benutzen WinAPI-Funktionen, aber im Grunde ist es der selbe Mechanismus, nur halt eine andere Schnittstelle.

Solange Sie nur grundlegende Ein- und Ausgabestromfunktionalität benötigen, wird es keinen großen Unterschied machen, aber wenn komplexere Operationen auf der seriellen Schnittstelle gewollt sind - beispielsweise Timeouts - ist das WinAPI wohl die sinnvollere Schnittstelle. Natürlich wird der Code dann auch schwieriger auf andere Plattformen portierbar sein.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.10.2009, 09:53 Uhr
~j4n
Gast


Okay, danke, geoeffnet habe ich ihn jez. doch wie bekomme ich nun die meldungen/bits abgefangen.
Habe das hier gefunden: www.robbayer.com/files/serial-win.pdf
Die meldungen werden von mir per tastendruck gesendet.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.10.2009, 16:10 Uhr
0xdeadbeef
Gott
(Operator)


In der PDF-Datei, die du da verlinkst, steht das unter Punkt 4 betrieben, das wär dann für's WinAPI. Mit Standard-C halt entsprechend fread. Ganz generell sollten alle Dateifunktionen des jeweiligen APIs funktionieren.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: