Pergunta

Estou tentando pegar algumas comunicações seriais para um novo emprego que estou começando. Eu fiz alguma leitura que ajudou muito no entanto, muitas da leitura lhe diz sobre a especificação de comunicações seriais e o que tudo é, mas não quando é melhor usar opções específicas.

Minhas pesquisas por esta informação até agora parecem puxar a especificação; Talvez como um novato que estou procurando pelos termos errados.

minhas perguntas então!

taxa de transmissão - eu li isso é alterações de sinal por segundo e é frequentemente mallável como bits por segundo. Isso é essencialmente bits por segundo, incluindo os dados do quadro se assíncronos, e realmente bits por segundo se síncrono?

paridade - mesmo / ímpar .. Existe alguma diferença em tudo entre os dois? Estou pensando em termos de eficiência ou similar. Isso só ainda existe para compatibilidade bem?

stop bits - eu li até agora você pode ter 1 ou 2 bits de parada. No C # parece haver uma opção para 1,5 também. Não consigo encontrar nada sobre por que você gostaria / precisaria de mais de 1.

Se alguém puder aconselhar sobre esses pontos, ou apontar-me a algum material de leitura recomendado, seria muito grato.

Obrigado por ler.

editar: erro de digitação

Foi útil?

Solução

Você raramente tem uma escolha, você deve torná-lo compatível com as configurações que o dispositivo usa. Se você não sabe, então precisa olhar em um manual ou pegar um telefone. Tenha em mente que está aumentando muito raro trabalhar com um dispositivo de porta serial real Real, um que usa um UART. Mais comumente você realmente fala com uma porta serial emulada , implementada por um driver de dispositivo USB ou Bluetooth. As configurações que você usa não importa em tal caso, já que a sinalização real é implementada pelo barramento subjacente.

Se você puder configurar o dispositivo, as diretrizes básicas são:

  • Baudrate está diretamente relacionado ao comprimento do cabo e da quantidade de interferência elétrica que está presente. Você tem que ir mais devagar quando receber erros de bits. A especificação RS-232 só permite um máximo de 50 pés a 9600 baud.
  • Parity deveria ser usado quando você não usa um protocolo de correção de erros. Não importa se você escolhe estranho ou mesmo. Pessoas estranhas escolhem estranho, é sua prerrogativa.
  • stopbits é geralmente 1. A coleta de 1,5 ou 2 ajuda um pouco a aliviar a pressão em um dispositivo cujos tempos de resposta de interrupção são pobres, detectados pela perda de dados.
  • Os dados
  • são quase sempre 8, às vezes 7 se o dispositivo apenas manipular códigos ASCII.
  • Handshaking é uma configuração importante que nunca deixa de causar problemas, já que muitos programadores simplesmente ignoram isso. Computadores modernos são quase sempre rápidos o suficiente para não precisar, mas isso não é necessariamente verdadeiro para dispositivos. A configuração mais básica de permanência é para ativar o DTR quando você abrir a porta e informar ao driver do dispositivo para cuidar do handshaking RTS / CTS. A handshaking XON / Xoff às vezes é usada, depende do dispositivo.

Um bom 90% da batalha é ganho implementando a verificação de erros sólidos. Quase sempre ficou em má ideia. Muito importante para dispositivos de porta serial, uma vez que eles não têm nenhum erro corrigindo recursos próprios e detecção de erro muito fraca. Sempre certifique-se de que você pode detectar e denunciar adequadamente os erros de superação, paridade e enquadramento. E testá-los, obtendo as configurações intencionalmente erradas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top