Como configuro o PuTTY para mostrar caracteres ASCII não imprimíveis ao usar uma conexão serial?

2

Estou tentando depurar a comunicação com um dispositivo de hardware via porta serial. O dispositivo de hardware ocasionalmente envia informações que não são alfanuméricas ou em branco. Enquanto meu programa Python vê todos os caracteres não imprimíveis que o dispositivo envia, o PuTTY não mostra nenhum texto não alfanumérico e sem espaços em branco, ignorando esses caracteres como se nunca os tivessem recebido.

Estou tentando usar o PuTTY para ler e gravar informações que entram e saem da porta serial, mas como o PuTTY parece exibir apenas caracteres alfanuméricos e de espaço em branco, estou perdendo as informações que o dispositivo está enviando de volta para mim.

Alguma idéia do que eu poderia fazer para fazer com que o PuTTY mostre esses personagens (conforme eles entram)?

    
por user3346931 28.07.2015 / 21:41

1 resposta

3

Tente fazer com que atualizem o PuTTY. Parece muito factível: basta criar um conjunto de caracteres personalizado que defina a maior parte de 0x00-0x1F como caracteres imprimíveis. Ou adicione opções que controlam como ele lida com caracteres de controle comuns para os quais ele possui ações (CR, LF, BEL, BS, FF (claro), ^ E (resposta) etc.) e caracteres de controle incomuns para os quais não possui ações. Para cada caractere de controle, ele pode exibir um símbolo, realizar uma ação ou ambos.

Enquanto isso, você pode obter um uso muito limitado do PuTTY ou usar outra coisa.

PuTTY 0.69 (20170424) não mostra caracteres de controle, exceto se, em "Tradução", "Conjunto de caracteres remoto", você selecionar "VSCII". Isso faz com que o PuTTY mostre seis caracteres de controle na tela, mas apenas porque o VISCII define esses seis como > imprimir caracteres. Ctrl + BEFTY ^ é exibido como os caracteres vietnamitas difíceis de distinguir, e copie e cole como o mesmo. Com esses caracteres na tela, se você alterar "Conversão" para qualquer outro conjunto de caracteres, mude para seis outros caracteres, que copiam e colam como os códigos de controle reais. No entanto, os caracteres de controle recém-recebidos voltam a não exibir nada, e Ctrl + E dispara o retorno de resposta (o PuTTY age como se você tivesse digitado "PuTTY").

Ctrl+B displays as "Ẳ"; becomes " ┐", which copies and pastes as ␂[STX][0x02].
Ctrl+E displays as "Ẵ"; becomes "│", which copies and pastes as ␅[ENQ][0x05].
Ctrl+F displays as "Ẫ"; becomes "─", which copies and pastes as ␆[ACK][0x06].
Ctrl+T displays as "Ỷ"; becomes "¶", which copies and pastes as ␔[DC4][0x14]
Ctrl+Y displays as "Ỹ"; becomes "├", which copies and pastes as ␙[EM][0x19].
Ctrl+^ displays as "Ỵ"; becomes " " (whitespace), which copies and pastes as ␞[RS][0x1E].

(Digitar Ctrl + ^ não funciona). Eles correspondem à tabela de códigos VISCII da Wikipedia.

RealTerm 2.0.0.70 (20130828) mostra todos os caracteres de controle, como códigos de 2 dígitos ou símbolos como ␂ [STX], usando fontes personalizadas incluídas. Ele codifica o eco local e o texto recebido (bom). (Stark vermelho e amarelo.) Interface do usuário Stark ainda desordenada. Para eco local, clique em "half duplex". Ele tem uma interpretação única de CR: ele vai para a posição inicial, mas não alimenta em linha até que um personagem entre. O mais novo beta parece o mesmo.

O Tera Term 4.94 (20170228) não mostra caracteres de controle. Ele nem mesmo registra caracteres de controle nos quais não atua.

    
por 01.06.2017 / 02:39