Forum: PC-Programmierung c++ rs232 libserial Probleme


von Gde A. (goaran)


Lesenswert?

Hallo, bin ein wenig verwirrt.
Habe folgenden code
1
#include <iostream>
2
#include <SerialStream.h>
3
4
using namespace LibSerial ;
5
using namespace std;
6
7
int main()
8
{
9
    SerialStream my_serial_port( "/dev/ttyUSB0") ;
10
    my_serial_port.SetBaudRate( SerialStreamBuf::BAUD_115200 ) ;
11
    my_serial_port.SetCharSize( SerialStreamBuf::CHAR_SIZE_8 ) ;
12
    my_serial_port.SetNumOfStopBits(1) ;
13
    my_serial_port.SetParity( SerialStreamBuf::PARITY_ODD ) ;
14
    my_serial_port.SetFlowControl( SerialStreamBuf::FLOW_CONTROL_HARD ) ;
15
16
    my_serial_port.ReadLine(0,'/n');
17
18
    my_serial_port.Close() ;
19
20
    cout << "press enter" << endl;
21
    return 0;
22
}
bekomme den Fehler:
1
.../main.cpp|16|Fehler: »class LibSerial::SerialStream« hat kein Element namens »ReadLine«|

laut der Dokumentation 
http://libserial.sourcearchive.com/documentation/0.5.2-0ubuntu1/SerialPort_8h-source.html 
sollte ReadLine existieren.
Ich habe die libserial0.5.2-0ubuntu1 installiert.

von Rolf Magnus (Gast)


Lesenswert?

> laut der Dokumentation

...von SerialPort...

> sollte ReadLine existieren.

... in SerialStream?

von Gde A. (goaran)


Lesenswert?

verstehe ich nicht?

Auszug aus der SerialPort.h
1
**
2
     * Read a line of characters from the serial port.
3
     */
4
    const std::string
5
    ReadLine( const unsigned int msTimeout = 0,
6
              const char         lineTerminator = '\n' )
7
        throw( NotOpen,
8
               ReadTimeout,
9
               std::runtime_error ) ;

oder wo ist mein Denkfehler??

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nun, ist denn SerialStream irgendwie mit SerialPort verwandt?

von Gde A. (goaran)


Lesenswert?

Ok danke, so langsam verstehe ich glaub das Problem.
Also es ist hier:
http://libserial.sourcearchive.com/documentation/0.5.2/classSerialPort_580f2c023871e8e9987d42392000512d.html#580f2c023871e8e9987d42392000512d
definiert..
und die SerialPort.h ist bei der libserial dabei.
oder wie greiffe ich sonst auf die ReadLine funktion zu?

von Rolf Magnus (Gast)


Lesenswert?

> Auszug aus der SerialPort.h

Da wird die Klasse SerialPort definiert. Die benutzt du in deinem Code 
aber nirgends. Du benutzt stattdessen die Klasse SerialStreeam, und 
diese Klasse besitzt offensichtlich keine Memberfunktion mit Namen 
ReadLine.

von Gde A. (goaran)


Lesenswert?

Ok, jetzt seh ichs auch....
bin seit heut morgen um 8 am programmieren, mein hirn lässt nach.
Danke ;)

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
Noch kein Account? Hier anmelden.