【问题标题】:Does PuTTy work correctly with ANSI/VT100 escape sequences?PuTTy 能否与 ANSI/VT100 转义序列一起正常工作?
【发布时间】:2013-03-15 06:14:25
【问题描述】:

我正在为飞思卡尔 MC9S12C32 处理器的 HC12 汇编类编写一个程序。我使用 PuTTy 作为通过串行(-over-USB)连接到设备的终端。对于这个分配,我们应该使用 VT100/ANSI 转义序列将光标移动到任意位置并写入当前时间,然后返回它,以便用户可以键入并让他们的输入回显。

我正在使用以下序列来保存光标、移动它并返回它。然而由于某种原因,PuTTy 只是将光标放在左上角而无法返回。

ESC         EQU   $1B ; ASCII ESC
SAVECUR     EQU   $37 ; ASCII 7
RESTCUR     EQU   $38 ; ASCII 8

SaveCursor  PSHA
            LDAA  #ESC             ; Use Escape Sequence
            JSR   putchar
            LDAA  #'['
            JSR   putchar
            LDAA  #SAVECUR         ; To save cursor location
            JSR   putchar
            PULA
            RTS

GotoClkPos  PSHA
            LDAA  #ESC             ; Move Cursor
            JSR   putchar
            LDAA  #'['
            JSR   putchar
            LDAA  #$05             ; To Row 5
            JSR   putchar
            LDAA  #';'
            JSR   putchar
            LDAA  #$05             ; Column 5
            JSR   putchar
            LDAA  #'H'
            JSR   putchar
            PULA
            RTS

RestCursor  PSHA
            LDAA   #ESC            ; Use Escape Sequence
            JSR    putchar
            LDAA   #'['
            JSR    putchar
            LDAA   #RESTCUR        ; To Restore Cursor
            JSR    putchar
            PULA
            RTS

是我对转义序列的编码有误,还是 PuTTy 没有按我的预期处理它们?

【问题讨论】:

    标签: putty ansi-escape vt100 68hc12


    【解决方案1】:

    您的转义序列错误。您应该从 SaveCursor 和 RestCursor 中删除“[”(保存光标=ESC+'7',恢复=ESC+'8')。 不过,GotoClkPos 似乎还可以。

    PuTTY 可以很好地处理 VT100 命令。虽然我无法让某些命令正常工作,例如隐藏光标。

    【讨论】:

    • 谢谢。我最终从使用“保存/恢复光标”命令的“保存/恢复光标”命令切换到“保存/恢复光标”命令,因为我只使用黑底白字。那些对我有用。现在我知道了,我可以回去修复它。
    【解决方案2】:

    Putty 处理所有 VT100 的权利。它为 F1/F2/F3 以外的所有功能键发送垃圾,并且不能正确处理各种其他接口。我还没有找到真正确实的好程序,所以我很高兴我有几个愚蠢的终端在乱跑(但这有多愚蠢?)

    【讨论】:

    • 当我将 putty 的功能键模式切换到“VT100+”时,我得到ESC O P - ESC O S,这应该是 VT100 为 PF1 - PF4 发送的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    相关资源
    最近更新 更多