AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 410932
Accepted
foobarbecue
foobarbecue
Asked: 2017-12-15 11:18:31 +0800 CST2017-12-15 11:18:31 +0800 CST 2017-12-15 11:18:31 +0800 CST

a saída do dispositivo serial parece boa na tela gnu, mas distorcida usando cat

  • 772

Eu tenho um dispositivo serial (leitor de termopar Omega RDXL4SD, detalhes de comunicação p 22 aqui ) conectado a uma porta USB no meu Raspberry Pi executando Raspbian por meio de um cabo FTDI. Ele aparece em /dev/ttyUSB0 e a saída parece perfeita se eu exibi-la chamando

pi@raspberrypi:~ $ screen /dev/ttyUSB0 9600

A saída são alguns números. Cada vez que ele cospe uma linha, o cursor retorna ao início da linha e a sobrescreve, de modo que haja apenas uma linha de números na tela por vez.

Agora, quero usar cat, não screenpara obter o mesmo efeito, mas quando o faço, recebo caixas com pontos de interrogação:

pi@raspberrypi:~ $ cat /dev/ttyUSB0
4401010000

Presumo que seja algum tipo de problema de codificação. Você pode explicar o que pode ser diferente sobre como esses caracteres estão sendo interpretados em screenversus catou sugerir outras etapas de solução de problemas?

Caso ajude:

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l 
GNU/Linux

pi@raspberrypi:~ $ stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
min = 100; time = 2;
-icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo

Editar: @meuh sugeriu adicionar -vet para exibir caracteres especiais. Agora que conheço essas bandeiras, meu problema específico está efetivamente resolvido! Eu ainda não me importaria com uma explicação de exatamente o que está acontecendo aqui.

pi@raspberrypi:~ $ cat -vet /dev/ttyUSB0
^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000
gnu-screen cat
  • 1 1 respostas
  • 896 Views

1 respostas

  • Voted
  1. Best Answer
    foobarbecue
    2017-12-17T13:19:14+08:002017-12-17T13:19:14+08:00

    Acontece que os caracteres ^X, que são bytes de 0x18, são uma espécie de NaN não documentado neste protocolo. Existem várias portas de termopar e, se você conectar apenas um termopar, obterá uma linha com um valor de temperatura e várias linhas terminando em ^ X.

    Por algum motivo, cat no meu terminal exibe esses caracteres como caixas, mas a tela não os exibe.

    • 2

relate perguntas

  • Por que a tela do macOS não está captando meu ~/.terminfo?

  • cat heredocument copiou tudo, exceto a chamada de função

  • Como funciona este comando? mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc -l 1234 > /tmp/f

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve