我只是一个初学者并且正在尝试阅读IGCSE-计算机科学书籍。在这里,我陷入了以下问题。我没有导师,我是出于兴趣阅读,所以请帮助我。
在自动吸尘器中,两个电机的功能由8位寄存器中的位解释。
现在的问题是,如果寄存器包含值11111111会发生什么?
答案 0 :(得分:0)
这取决于电机驱动器的实现方式。
一般情况下,互斥状态会反映在软件级别,即 Motor B On 而不是 Motor B Off ,我们只有一位用于电机B开/关。
虽然拥有允许无效状态的硬件接口(如此处的所有状态)并依赖软件始终保持一致状态并不罕见。
如果违反这样的合同会发生什么事情,从无所事事到损坏硬件(机械或电气)通过在所选功能上创建竞争条件(即打开/关闭电机)。
当您看到允许无效状态的接口时,您必须将其视为折衷:设计人员使硬件更简单,但代价是使软件稍微复杂一些。因此,您应该考虑硬件“非常敏感”并避免所有无效状态 如果您对无效状态的特定行为感到好奇,则需要查看硬件原理图或其数据表。