C ++硬件开发

时间:2011-12-21 13:26:31

标签: c++ embedded hardware debian ports

我想知道是否有任何C ++类集合才能与硬件设备交互,我的意思是,I / O通过串口或并行等端口。

我发现了一些信息但只在C中,我希望已经编写了C ++类。

2 个答案:

答案 0 :(得分:3)

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

为这些资源定义一些通用的抽象接口可能很有用,这样应用程序层代码可以在平台之间移植,但任何可用的通用接口都可能适合您的要求。因此,您通常会更好地实现自己的设计并重复使用它,而不是受到任何其他人的实施约束。

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

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

答案 1 :(得分:1)

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