如何在Visual Studio中进行串行端口编程C++Windows和Linux之间的可移植性?
How to do serial port programming in visual studio C++ that portable between Windows & linux?
我正在编写一个需要访问串行端口的测试程序。我现在在Visual Studio 2012中执行此操作,但我想稍后移植到Linux。(用于我的熊猫板)
你能告诉我一种访问Win和Linux之间几乎相同接口的串行端口的方法吗?
我曾经在Labview中做过,但现在我想转向C++
非常感谢您的帮助!
Boost.ASIO 文档完善,经过测试,经过数千人的同行评审,并完全支持跨平台的串口通信。可在此处找到具体文档。
话虽如此,它确实假设现代C++的技能水平适中,所以如果你是该语言的新手,那么学习曲线可能会有点陡峭。
串行端口接口没有太多...您应该能够将所有实现详细信息包装在它下面。
class ISerialPort
{
public:
void open(const std::string &serialPortName) = 0;
void close() = 0;
void write(const vector<char> &data) = 0;
vector<char> read(size_t bytesToRead) = 0;
}
尽管它不是一个"接口",因为它是两个不同平台将实现的通用标头。
编辑:Linux 下的串行端口可通过打开设备节点来访问。 例如/dev/ttyS0(串行端口 0)。 在窗口中,您正在执行相同的操作,但不是打开设备节点,而是打开文件(COM 端口)。 如COM1。
在 Linux 中,您将深入研究与平台相关的问题,例如打开设备节点。 在Linux中,它将打开文件(COM端口)。
Google c++ windows/linux 串口,并提出一个更具体的问题。 您刚刚询问了一个界面;
相关文章:
- 在Linux for Windows上编译C++代码时出错
- 如何在 Linux for Windows 上通过 MinGW 构建静态 ICU 的 Boost
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- std矢量内存分配linux与windows编译器
- 动态链接-Linux与Windows
- SACSegmentation Linux 和 Windows 的结果不同
- 跨平台 c++ 与 Linux 和 Windows 中的 c# 集成
- 使用 MINGW 和 CPLEX 库链接从 Linux 编译 Windows 可执行文件
- 如何交叉编译一个在 Linux for Linux 和 Linux for Windows 中编译的程序?
- 在 Linux 和 Windows 中启用诅咒
- 如何在Linux和Windows上发布QT/C 应用程序
- std::vector 在 Linux 和 Windows 中给出了不同的结果
- Linux VS Windows 上的 UDP 多播差异
- Linux 与 Windows,C++读取 CSV 文件的运行时性能差异
- 我想使用 CMakeList 将 ODBC 集成到我的 Linux 和 Windows 代码中.txt但它只能在 Win
- std::map 实现在 Linux 和 Windows 之间有所不同
- 一个C++编译器是为不同的平台(Linux,Windows等)多次编写的,这是真的吗?
- 如何使用单独的 Linux 和 Windows 计算机的代码块开发C++项目?
- 编译C 程序,该程序将SFML与MINGW一起到端口,从Linux到Windows
- 克服下载CSV文件进行分析时的问题.Linux与Windows新品Charachter