#include <libserial/SerialPort.h>
#include <libserial/SerialStream.h>
#include <iostream>
constexpr const char* const SERIAL_PORT_1 = "/dev/ttyUSB0" ;
constexpr const char* const SERIAL_PORT_2 = "/dev/ttyUSB1" ;
int main()
{
SerialPort serial_port ;
SerialStream serial_stream ;
serial_port.
Open( SERIAL_PORT_1 ) ;
serial_stream.Open( SERIAL_PORT_2 ) ;
using LibSerial::BaudRate ;
serial_port.SetBaudRate( BaudRate::BAUD_115200 ) ;
serial_stream.SetBaudRate( BaudRate::BAUD_115200 ) ;
char write_byte_1 = 'a' ;
char write_byte_2 = 'b' ;
char read_byte_1 = 'A' ;
char read_byte_2 = 'B' ;
serial_port.WriteByte(write_byte_1) ;
serial_stream << write_byte_2 ;
size_t timeout_milliseconds = 5 ;
try
{
serial_port.ReadByte(read_byte_1, timeout_milliseconds) ;
serial_stream >> read_byte_2 ;
}
catch (const ReadTimeout&)
{
std::cerr << "The Read() call has timed out." << std::endl ;
}
std::cout << "serial_port read: " << read_byte_1 << std::endl ;
std::cout << "serial_stream read: " << read_byte_2 << std::endl ;
serial_port.Close() ;
serial_stream.Close() ;
}
Exception error thrown when data could not be read from the serial port before the timeout had been e...
SerialPort allows an object oriented approach to serial port communication. A serial port object can ...
SerialStream is a stream class for accessing serial ports on POSIX operating systems....
void Open(const std::string &fileName, const std::ios_base::openmode &openMode=std::ios_base::in|std::ios_base::out)
Opens the serial port associated with the specified file name and the specified mode.