📄 write_port.cpp
字号:
#include <iostream>#include <fstream>#include <SerialStream.h>//// This example reads the contents of a file and writes the entire // file to the serial port one character at a time.//intmain( int argc, char** argv ){ // if ( argc < 2 ) { std::cerr << "Usage: " << argv[0] << " <filename>" << std::endl ; return 1 ; } // // Open the serial port. // const char* const SERIAL_PORT_DEVICE = "/dev/ttyS0" ; using namespace LibSerial ; SerialStream serial_port ; serial_port.Open( SERIAL_PORT_DEVICE ) ; if ( ! serial_port.good() ) { std::cerr << "Error: Could not open serial port " << SERIAL_PORT_DEVICE << std::endl ; exit(1) ; } // // Set the baud rate of the serial port. // serial_port.SetBaudRate( SerialStreamBuf::BAUD_9600 ) ; if ( ! serial_port.good() ) { std::cerr << "Error: Could not set the baud rate." << std::endl ; exit(1) ; } // // Set the number of data bits. // serial_port.SetCharSize( SerialStreamBuf::CHAR_SIZE_8 ) ; if ( ! serial_port.good() ) { std::cerr << "Error: Could not set the character size." << std::endl ; exit(1) ; } // // Disable parity. // serial_port.SetParity( SerialStreamBuf::PARITY_NONE ) ; if ( ! serial_port.good() ) { std::cerr << "Error: Could not disable the parity." << std::endl ; exit(1) ; } // // Set the number of stop bits. // serial_port.SetNumOfStopBits( 1 ) ; if ( ! serial_port.good() ) { std::cerr << "Error: Could not set the number of stop bits." << std::endl ; exit(1) ; } // // Turn on hardware flow control. // serial_port.SetFlowControl( SerialStreamBuf::FLOW_CONTROL_NONE ) ; if ( ! serial_port.good() ) { std::cerr << "Error: Could not use hardware flow control." << std::endl ; exit(1) ; } // // Do not skip whitespace characters while reading from the // serial port. // // serial_port.unsetf( std::ios_base::skipws ) ; // // Open the input file for reading. // std::ifstream input_file( argv[1] ) ; if ( ! input_file.good() ) { std::cerr << "Error: Could not open file " << argv[1] << " for reading." << std::endl ; return 1 ; } // // Read characters from the input file and dump them to the serial // port. // std::cerr << "Dumping file to serial port." << std::endl ; while( input_file ) { char next_byte ; input_file.read( &next_byte, 1 ) ; serial_port.write( &next_byte, 1 ) ; // // Print a '.' for every character read from the input file. // std::cerr << "." ; } std::cerr << std::endl ; std::cerr << "Done." << std::endl ; return EXIT_SUCCESS ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -