1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
3453
3453
EMPFEHLEN
-
15.11.07 09:43 #1
- Registriert seit
- Aug 2004
- Ort
- Österreich
- Beiträge
- 169
Hallo!
Habe mit C noch nicht allzu viel erfahrung.. Aber schreibe gerade ein kleines Programm (für einen PIC) das unter anderen Wörter und Zahlen von der seriellen Schnittstelle auslesen sollte () .. Die Strings werden von einem anderen Programm einfach auf die serielle Schnittstelle geschrieben..
Hab dazu zwar gets() gefunden aber das klappt nicht..

Bitte um Hilfe.. Über die Suche habe ich auch nichts gefunden
-
Falls das Ganze unter Windows stattfindet, gibt es ein allgemeines Verfahren, um Daten von der seriellen Schnittstelle zu lesen:
- Port öffnen -> CreateFile()
- Port konfigurieren (DCB-Struktur füllen)-> SetCommState()
- Timeouts festlegen (evt. verzichtbar, wenn die Standardeinstellungen passen)-> SetCommTimeouts()
- Lesen der Bytes -> ReadFile()
- Port schließen -> CloseHandle()
Möglicherweise kommt vor dem Lesen noch eine Schreiben ( WriteFile() ) dazu, falls ein Kommando gesendet werden muss, um das Übertragen der Daten anzustoßen. Außerdem muss wahrscheinlich auch ein Protokollrahmen beachtet werden, der z.B. regelt, mit welchen Bytefolgen Anfang und Ende einer Übertragung gekennzeichnet werden.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
15.11.07 10:42 #3
- Registriert seit
- Aug 2004
- Ort
- Österreich
- Beiträge
- 169
Aha vielen Dank, ich denk das hilft mir schon viel weiter..
Also es kommt auch vor das ich einzelne Zahlen übergeben will.. zb 5 kann ich ja dann mit getc erwischen.. aber bei zahlen über 9 geht das nicht oder? gibs bei zahlen eine bessere möglichkeit die einzulesen
-
Das hängt auch davon ab, wie die Zahlen übergeben werden. Entweder werden die einzelnen Ziffern als ASCII-Zeichen
übergeben (sozusagen in Textform) oder die Zahl wird in binärer Form mit der dem Datentyp entsprechenden Anzahl von
Bytes übergeben.
Am besten erscheint mir, mit ReadFile den Port byteweise auszulesen und alles in einen Puffer schreiben und diesen dann
anschließend entsprechend der übertragenen Daten auszuwerten.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
Ähnliche Themen
-
[c++/c#] Kommunikation über Serielle Schnittstelle/PCI Einsteckkarte
Von Matthias Hembrock im Forum C/C++Antworten: 1Letzter Beitrag: 20.09.10, 16:38 -
serielle Schnittstelle: mehrer Bytes einlesen
Von PariX im Forum VisualStudio & MFCAntworten: 7Letzter Beitrag: 20.03.07, 10:02 -
einen string über eine serielle schnittstelle empfangen
Von greenlinus im Forum C/C++Antworten: 0Letzter Beitrag: 20.04.06, 11:43 -
Terminal über Serielle Schnittstelle
Von knackpunkt83 im Forum Linux & UnixAntworten: 2Letzter Beitrag: 05.01.05, 21:16 -
serielle Schnittstelle über Dialogfeld einstellen?!
Von michimen2000 im Forum C/C++Antworten: 3Letzter Beitrag: 03.03.03, 15:50





Zitieren
Login






