Transmitir um sinal BREAK

ID do artigo: 119506 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Nesta página

Sumário

Um sinal BREAK é um sinal de comunicação que permite que dois dispositivos de comunicações transmitir "uma quebra de" na linha de transmissão. Este artigo descreve como um programa de comunicação implementado usando a API de comunicação do Microsoft Windows (API de comunicação) pode enviar um sinal BREAK.

Mais Informações

Apesar do seu nome, um sinal BREAK pode ser empregado para transmitir praticamente qualquer condição especial desde que o remetente e o destinatário saibam a semântica do sinal. Um sinal BREAK, às vezes por engano conhecido como um caractere BREAK, é qualquer condição espaço na linha de comunicação que dura mais de um caractere e seus bits de enquadramento.

API de comunicação contém duas funções, SetCommBreak() e ClearCommBreak(), para ajudar no envio de um sinal BREAK. Simplesmente chamando essas duas funções na seqüência não fará com que um sinal BREAK para ser enviada. Use um dos dois métodos descritos abaixo para transmitir o sinal BREAK:

Método 1

O comitê consultivo internacional para recomendações de modem de telefone e Telegraph (CCITT) requerem um sinal de interrupção seja pelo menos "2 m + 3"bits longa, onde"m" é número de horas de bit em um caractere assíncrono nominal, geralmente 10; Este significa que o mínimo hora da interrupção é 23 bits, com nenhum máximo especificado. Normalmente, muito mais do que o mínimo é enviada, como 100 ou 200 milissegundos (isto é, centenas de vezes de bit em taxas de dados de alta). A resolução de timer em um PC é suficiente para enviar como "longas" sinais BREAK, mas não é suficiente para enviar exatamente bits 23 horas.

Um aplicativo pode chamar SetCommBreak() para iniciar o sinal BREAK. Use SetTimer() para definir um timer e aguarde até que a duração recomendada e, em seguida, chamar ClearCommBreak() para finalizar o sinal BREAK.

Observação: Se um aplicativo envia alguns dados e subseqüentemente chama SetCommBreak() antes que dados teve a oportunidade de fazer sua maneira por meio de transmissão primeiro no, primeiro out (FIFO), algoritmo os dados, na verdade, serão sobrescritos pela SetCommBreak() e não obter até a linha. Para evitar que essa corrupção, é recomendável que você pausar por um tempo antes do SetCommBreak().

Método 2

Um meio alternativo de enviar um sinal BREAK da duração menor é alterar a taxa de dados em do UART temporariamente para metade ou 1/4 da velocidade de linha real e, em seguida, enviar um único byte NULL. Isso é mais preciso do que usando SetCommBreak() e ClearCommBreak(), mas ele tem a desvantagem de dados recebidos corrompidos durante o período de que sinal BREAK está sendo enviado (porque a taxa de dados recebidos é errada durante esse tempo). Um aplicativo pode alterar a taxa de data no UART com uma chamada para SetCommState(). A estrutura de DBC passada para SetCommState() Especifica a nova taxa de dados.

Referências

Para obter mais informações sobre o sinal BREAK e o caractere de espaço, consulte "Guia do programador de C para Serial Communications", segunda edição, por Joe Campbell, publicado pela SAMS Publishing.

Propriedades

ID do artigo: 119506 - Última revisão: sábado, 6 de novembro de 1999 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Software Development Kit 3.1
Palavras-chave: 
kbmt kb16bitonly KB119506 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 119506
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários