在C++中读取串口数据通常需要使用串口通信库,比如boost库或者Qt的串口通信模块。以下示例代码使用boost库来读取串口数据:
#include#include int main() { boost::asio::io_service io; boost::asio::serial_port serial(io); serial.open("/dev/ttyUSB0"); // 串口设备路径 serial.set_option(boost::asio::serial_port_base::baud_rate(9600)); // 波特率设置 char c; std::string read_data; do { boost::asio::read(serial, boost::asio::buffer(&c, 1)); // 读取一个字节数据 read_data += c; } while (c != '\n'); // 以换行符作为数据结束标志 std::cout << "Received data: " << read_data << std::endl; serial.close(); return 0; }
该示例代码首先打开串口设备并设置波特率为9600,然后循环读取串口数据直到遇到换行符为止,最后打印读取到的数据。在实际应用中,可能需要根据具体的串口通信协议来解析数据。