0

我想知道是否有任何 C++ 类集来与硬件设备交互,我的意思是,I/O 槽端口,如串行或并行或类似的东西。

我找到了一些信息,但仅限于 C,我希望已经编写了 C++ 类。

4

2 回答 2

3

嵌入式硬件通常是专有的,因此任何此类库仍然需要某种硬件抽象层(C 和 C++ 都是如此)。UART 和 GPIO 相对微不足道,但同时又非常特定于芯片,并且通常也有特定于应用程序的要求,因此此类库的实用性值得怀疑。

为这些资源定义一些通用的抽象接口可能会很有用,这样应用层代码就可以在平台之间移植,但是任何可用的通用接口可能会也可能不会满足您的要求。因此,您通常最好实现自己的设计并重用它,而不是受制于其他人的实现。

如果您能找到合适的 C 库,那么最简单的方法是实现合适的 C++ 包装器。C 代码完全可以与 C++ 互操作。

如果您平台的标准 C 库已被移植以支持 UART 等设备上的 stdio,则标准 C++ iostream 库将起作用,但不提供用于设置帧和波特率的标准低级接口;您可以直接或通过自定义 ioctl() 命令来实现它。如果流 I/O 语义合适,您可以为其他设备和文件系统实现低级驱动程序,以允许通过 iostream 进行访问。

于 2011-12-23T12:20:50.773 回答
1

答案取决于您的目标平台。http://www.arduino.cc/将所有 I/O 封装在 C++ 中。

于 2011-12-22T22:29:59.077 回答