首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++中唯一的物理对象(硬件驱动程序)

C++中唯一的物理对象(硬件驱动程序)
EN

Software Engineering用户
提问于 2019-07-21 10:06:46
回答 1查看 211关注 0票数 0

我正在用C++为raspberry pi 2编写一个硬件驱动程序。

司机使用SPI总线与无线电芯片通话。我制作了一个班级无线电,把所有与芯片对话的功能都放进了那门课。其中一些函数是writeToRegisterreadFromRegistersetRadioPowerenterSleepMode readTxBufferreadRxBuffer等等.

这里的问题是这个类将只有一个像Radio radio这样的对象。不需要创建多个对象,因为它是一个包含与硬件对话的函数的类,并且只有一段硬件。

这里的问题是:处理此类课程的最佳方法是什么?

我不想用C做这件事,我想了解更多关于C++的东西。

EN

回答 1

Software Engineering用户

发布于 2019-07-21 18:06:46

你假设你会有一台收音机。很明显,你可能没有收音机,也没有理由相信永远不会有多台收音机。

作为未来的证明:拥有一个类,为每个可用的无线电硬件返回某种类型的描述。您可能会将此信息作为数组返回。如果没有无线电硬件,则返回一个空数组。如果有多个无线电硬件,则返回一个具有多个项的数组。

然后,您有一个类表示一个无线电硬件。构造函数接受这些描述之一,并返回一个控制该无线电的类。您可能只希望每个可用的无线电硬件只使用一个这样的对象,因此如果描述无效,或者无线电硬件已经在使用,则构造函数将失败(即使无线电硬件被另一个应用程序使用,如果发生这种情况也可能是好的)。

代码的用户将得到描述的数组。如果数组为空,则无法创建无线电对象。否则,如果他们不关心可能有多个收音机,他们会为第一个描述符创建一个无线电对象。在未来可能会有多个描述,然后他们可以更新他们的软件来选择最好的无线电,或使用多个收音机。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/394978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档