《测试驱动的嵌入式C语言开发》——3.2节LED驱动都做些什么

3.2 LED驱动都做些什么
假设我们的系统用LED来与系统的用户或者开发者沟通系统的状态,我们将需要一个LED的驱动程序。以下是我们所知的LED驱动程序的需求:

  • 控制16个有两个状态的LED。
  • 可以在不影响其他LED的情况下打开或者关闭任意一个LED。
  • 通过单一的接口调用来打开所有的LED。
  • LED驱动程序的用户可以查询任何LED的状态。
  • 当加电时,硬件的默认状态是所有的LED都锁定在打开状态,需要由软件来把它们关闭。
  • LED会在内存中映射到一个16位的字上(在一个尚未确定的地址上)。
  • 在某一位上置1会点亮对应的LED;置0则会将之关闭。
  • 最小一位对应LED 1;最大一位对应LED 16。
    前4个目标的关注点是希望LED驱动做什么。第5~8个目标描述了驱动程序如何与硬件交互。在这些需求之外,有一个设计目标:让这个驱动程序在目标硬件之外可测。在目标系统中只有一套LED,所以我们只会使用单一实例设计模型。
上一篇:c语言基础学习08_内存管理


下一篇:Google重返中国,关智能硬件什么事儿? | 观点