Hallo! Folgende Funktionsaufruf zum Einlesen einer I/O-Verbindung habe ich gefunden. res = read (fd, buffer, 255) Jetzt würde ich gerne, was die einzelnen Parameter bedeuten und wie ich diese weiter verarbeiten kann. Ich lese damit den seriellen Port ein, was für einen Inhalt hat denn res ?? fd = filediscriptor, 255 = Anzahl der Bytes Vermutlich ist buffer, vorher als char *buffer deklariert Wie übergebe ich res an einen String ? Danke vorab für Eure Mithilfe...!
http://www.google.de/search?hl=de&q=beschreibung+c+funktion+read&meta= => http://de.wikibooks.org/wiki/C-Programmierung:_Dateien
Hi ! Sorry, aber irgendwie komme ich mit den Informationen nicht weiter. Aus dem was ich gelesen habe, bekomme ich mit "res = read (fd, buffer, 255)" einen Wert an res übergeben. Nur ich kann immer noch nicht 100% sagen, was der Inhalt des buffer ist. Am Anfang des Quelltext ist noch char buffer[255] und int res definiert. Fall ich jetzt die serielle einlesen, als Besipiel ich tippe hallo ein, wird der Wert doch irgendwo vorhanden sein,oder? Wäre nett, wenn mir jemand weiterhelfen könnte!
"read gibt die Anzahl der gelesenen Zeichen zurück."
d.h. 'res' ist nach dem Aufruf die Anzahl der gelesenen Zeichen. Wenn
res > 0, dann sind im 'buffer' sind die Zeichen buffer[0] bis
buffer[res-1] gültig.
> Fall ich jetzt die serielle einlesen, als Besipiel ich tippe hallo ein, > wird
der Wert doch irgendwo vorhanden sein,oder?
Irgendwo ja. Mit read() bekommst du diese Daten allerdings nur, wenn
read() in der Library so geschrieben ist, dass ein Einlesen von der
seriellen Schnittstelle möglich ist UND du 'fd' so eingestellt hast,
dass der Dateideskriptor der Eingabe von der seriellen Schnittstelle
entspricht. En detail erklärt das die Dokumentation der von dir
benutzten C-Library.
Also ich würde sagen, dass die eingelesenen Daten in 'buffer' stehen (im Speicher beginnend an der Adresse 'buffer'). In 'res' (=result=ergebnis) wird übergeben, ob 'read' funktioniert hat, oder ob ein Fehler auftrat. Eine genaue Beschreibung von 'read' und dessen Parametern würde ich in der Dokumentation des verwendeten Compilers vermuten.
@tatstendrücker Angenommen die eingelesenen Daten stehen in buffer, wie kann ich diese an einen String weiter geben..? Buffer hat ja den Inhalt "hallo"... strcpy() ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.