Signal类 – 控制和感应外部I/O设备¶
信号类是引脚类的简单延伸。信号类增加了对引脚功能的逻辑反转支持。虽然这看起来只是简单的补充, 但这正是支持通过不同板进行移植的多种简单数字设备所需要的,这也是MicroPython的主要目标之一。 无论不同用户是否有低电平有效或高电平有效的LED,常开或常闭的继电器—您都可开发一个单独的、外观漂亮的应用程序, 此程序可与每个应用程序一起运行,并在应用程序的配置文件的几行中捕捉硬件配置的差异。
以下为信号vs引脚的使用指南:
- 使用信号: 若您想要控制一个类似LED、多段指示器、继电器、蜂鸣器等的简单开/关(包括软件PWM!)设备, 或读取类似常开或常闭按钮、拉高或拉低、磁簧开关、水分/火焰检测器等简单的二进制传感器。总之, 若您有一个需要GPIO访问的真实的物理设备/传感器,您可能需要使用信号。
- 使用引脚: 若您实现一个更高水平的协议或总线以与更多复杂设备通信时。
引脚与信号的差异来自上述使用情况和MicroPython架构:引脚可实现最低开销,这对位拆裂协议十分重要。 但是信号在引脚基础上更具灵活性,尽管这种灵活性是以低开销为代价的(远远小于您在Python中手动实现高电平有效vs低电平有效设备差异!) 引脚是一个需要每种支持板实现的低电平对象,而新信号是一个高电平对象,且在实现引脚后免费。
若您仍存疑,请尝试信号!再次强调:其开发目的是帮助开发人员减少诸如处理像低电平有效vs高电平有效信号这种无用的差异, 并允许其他用户共享您的应用程序,而不会因为他们的LED或继电器的连线方式稍有不同而使应用程序无法运行而沮丧。