Rs232:Problem beim lesen
-
Hallo
Also ich programmiere zur Zeit ein Programm,
das Daten an die serielle Schnittstelle ausgib und von dort auch Daten empfaengt.Mein Problem ist nun das ich zwar Daten schreiben kann.
Aber keine Daten empfangen kann.
Wenn ich mir die error Flags von read ausgeben lass.
kommt als Fehlermeldung: Die Ressource ist zur Zeit nicht verfügbar.An der Portkonfiguration kann es eigentlich nicht liegen.
Da ich die schon in anderen Programme verwendet habe.Hat von euch jemand eine Idee was das seien koennte?
So sieht meine Funktion aus, ich habe sie mal auf das wesentliche gekuerzt.
int CCL_receive(CCL *self, double timeout,char *recbuffer, int length) { int resol; int n; n=0; while (n<length) { resol = read(self->fd, recbuffer,1); printf("Soviele Bytes wurden empfangen %i", resol); perror("Hey das ist der Systemerror "); recptr++; n++; } return 0; }
Gruss
C-Snoopy
-
Wahrscheinlich liegt's an den Einstellungen der Schnittstelle. Die Parameter solltest du mit einem entsprechenden tcsetattr()-Aufruf nach bedarf einstellen - und dabei das "cflag" CREAD nicht vergessen, sonst werden keine Daten gelesen.
Siehe auch "C und Linux", Abschnitt Errata.M. Gräfe