【问题标题】:Can XON and XOFF be equal?XON 和 XOFF 可以相等吗?
【发布时间】:2009-05-18 20:39:33
【问题描述】:

应用程序可以在 XON 和 XOFF 中使用设置相同的字符吗?如果是,我的设备驱动程序应该如何处理这种情况

【问题讨论】:

  • 您可能想要添加更多上下文 - 例如您正在为什么操作系统编写代码?此外,对硬件的一些想法可能会有所帮助。
  • 我有一个 Windows XP 使用模式应用程序,它应该使用供应商特定的协议与特定手机的引导加载程序进行通信。一件奇怪的事情是,应用程序发送了一个 IOCTL,将 XON 和 XOFF 设​​置为“0x00”。我在想设备驱动程序是否应该以不同的方式处理这种情况或引发错误消息。顺便说一句,我没有应用程序源代码。感谢您的回复。

标签: serial-port device-driver control-flow


【解决方案1】:

XON 和 XOFF 是两个不同的 ASCII 字符,所以它们不能相等。

也就是说,使用 XON/XOFF 样式的流控制切换是个坏主意,因为字符可能会丢失。我也没有看到使用两个字符有什么优势。

【讨论】:

    【解决方案2】:

    如果您的驱动程序单独负责处理 xon/xoff,并且 xon/xoff 标志字符可以相同,那么我会说您需要为您的 xon/xoff 状态设置一个小型状态机(标志)驱动程序,并且仅在已经看到 xoff 时才查找 xon。

    如果您有对 xon/xoff 的硬件支持,那么您将必须确定硬件是否支持此状态,如果不支持则返回相应的错误。

    【讨论】:

      【解决方案3】:

      虽然可能是允许的,但我从未见过这种情况。如果双方的状态机与丢失的字节不同步,我认为这将导致灾难。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-13
        • 2019-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多