我想在c ++中从/向串口读/写数据,但我希望我的代码尽可能便携.我目前正在开发一个窗口环境并且只使用std函数(windows.h从未#include'ed).是否有任何便携式,正确的(即不是#ifdef,而不是提升)方式来连接串口?
假设上面的答案是否定的,是否有任何可以执行此(基本)任务的可用程序包?
谢谢
标准C(++)库不提供串行端口的专用接口.但是,您可以使用通用I/O(例如<iostream>),因为您的操作系统支持基于文件的端口访问.这是Unix/Linux的情况,通过常用文件/dev/tty...和Windows通过保留的COM1设备名称等.
要设置和获取端口的参数(波特率等),您仍然需要使用特定于平台的API.这可能是Winapi for Windows(https://msdn.microsoft.com/en-us/library/ff802693.aspx),可能termios适用于Linux(注意Linux下有多个接口; termios在POSIX中是标准化的).
作为一个可移植的库,Qt提供了这个QSerialPort类.