Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » Serielle Schnittstelle Win32 -> Linux

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 <
000
27.07.2004, 13:24 Uhr
~Chavez
Gast


Horrido!
Bin grad dabei eine Aplikation von Win32 auf Linux zu portieren, die mit einem Gerät über eine serielle Schnittstelle kommunizieren soll.
Unter Win32 wird "CreateFile", "WriteFile", "ReadFile" und "SetCommState" verwendet und das ganze funktioniert.
Ich habe unter Linux "open","write","read" und "tcsetattr" verwendet (also quasi einfach die Win32 Aufrufe ersetzt),
Es sollte eigentlich 57600Baud, 8 Databits, keine Parity und 1 StopBit verwenden. Mein Versuch dabei:

C++:
tcgetattr(fd, &options);
    
    cfsetispeed(&options, B57600);
    cfsetospeed(&options, B57600);
    
    options.c_cflag |= (CLOCAL | CREAD);
    
    options.c_cflag &= ~PARENB;
    options.c_cflag &= ~CSTOPB;
    options.c_cflag &= ~CSIZE;
    options.c_cflag |= CS8;
    
    //options.c_cflag &= ~CNEW_RTSCTS;
    options.c_iflag &= ~(IXON | IXOFF | IXANY);
    
    if(tcsetattr(fd, TCSANOW, &options) == -1) printf("\nFehler setDevice\n");



Problem ist: Mein Programm schreibt zwar die gleich Anzahl an Bytes mit "write" wie das Win32 Programm, bekommt aber keine Antwort (read = -1).
Das ist sehr nervig udn deswegen wäre ich für etwas Hilfe sehr dankbar
Gruß
Chavez


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.07.2004, 13:39 Uhr
~Chavez
Gast


Noch ein Hinweis, der vielleicht hilft:
Vor dem "read" ist kein Fehler vorhanden.
Nach dem "read" ist errno 11 "Resource temporarily unavaivable" gesetzt.
Gruß
Chavez
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.07.2004, 14:18 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


evtl mal mit select erst mal schauen ob daten auf dem stream vorhanden sind?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
28.07.2004, 01:04 Uhr
typecast
aka loddab
(Operator)


Das passt wohl besser in die Linux Sektion ->
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


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: