O que a abertura de uma porta serial faz?

4

O que a abertura da porta serial padrão do PC faz, em termos elétricos (isto é, que voltagens em quais pinos)?

Por exemplo, o antigo programa VB6 que controla um aparelho que eu tenho a tarefa de manter alterna .PortOpen para controlar algum TTL. A conexão usava apenas 2 pinos (soldas ruins se desfizeram), então, para quais pinos eu soldo?

As únicas etiquetas / documentação referem-se aos pinos 7 e 9, dizendo 0V e 5V entre parênteses, mas .PortOpen realmente coloca apenas 5V entre RI e RTS?.

Como um script de post, isso não é a coisa mais estranha sobre o set up. O TTL I referido acima também se conecta a um instrumento via BNC a DB9 (!), Com apenas 1 pino usado. Eu acho que havia uma suposição sobre um terreno comum, já que a blindagem BNC não está conectada ao pino GND? A conexão é com o pino do "pedal" do instrumento, era uma maneira de acionar remotamente o dispositivo.

Atualizar

De acordo com esta página , os pinos DTR e RTS podem aumentam quando a porta está aberta. Se eles foram configurados, eles irão diminuir quando a porta for fechada.

Se o DTR e o RTS não estiverem ativados, a abertura da porta deverá ser definida como baixa (e mantida baixa).

    
por reve_etrange 23.06.2011 / 08:41

3 respostas

1

Eu não concordo com a resposta @Stevenvh. Para janelas em particular. As chamadas de API "porta aberta" e "porta fechada", digamos no .NET ou no MSCOMM OCX, forçarão as linhas DTR e RTS a alterar ou não o seu estado eletricamente.

Na porta aberta, o DTR será configurado para o estado elétrico, correspondendo à propriedade booleana DTREnable, se tiver sido definido como "true" antes de abrir a porta. Por padrão, ele permanecerá "falso", se usuário, nunca definirá DTREnable e, em seguida, na linha DTR de "porta aberta" permanecerá "false" como antes de abrir a porta.

Mesma lógica e padrões para nomes de linha "RTS" e propriedade "RTSEnable". Você escolhe "RTSEnable" antes de abrir a porta, dependendo da parte de comunicação na outra extremidade do cabo e da quantidade de fios envolvidos (handshake handsware vs handshake de software vs sem handshake).

  • Detecção de portadora de dados - é entrada, sem efeito
  • Receber dados - é entrada, sem efeito
  • Transmitir dados - é emitido, permanecerá "ESPAÇO" em vez de "MARCA"
  • Terminal de dados pronto - mudará para "VERDADEIRO" se a propriedade tiver sido definida antes de "Porta aberta"
  • Sinal de solo - sem alteração
  • Conjunto de dados pronto - é entrada, sem efeito
  • Solicitação para enviar - mudará para "VERDADEIRO", se a propriedade RTSEnable tiver sido definida antes de "Porta aberta"
  • Limpar para enviar - é entrada, sem efeito
  • Indicador de toque - é entrada, sem efeito

Ao contrário, quando a porta está fechada. Os pinos DTR e RTS mudam para o estado "FALSE", ou permanecem no estado "FALSE", se eles não foram definidos através das propriedades no momento da abertura.

    
por 29.06.2011 / 17:37
8

Abrir a porta não faz nada em termos elétricos. Apenas informa ao sistema operacional que a partir daquele momento a porta é atribuída ao aplicativo. O sistema operacional negará a outros aplicativos que acessem a porta enquanto a sua estiver aberta e permitirá que o aplicativo acesse-a.

    
por 23.06.2011 / 08:54
6

Abrir uma porta serial forçará todos os pinos a um estado definido (não me lembro de quais linhas de handshake são padronizadas para marcação ou espaçamento, mas é padrão). Até que a porta serial seja aberta, o estado das linhas pode ser indefinido. A menos que a Microsoft alterasse as coisas, fechar uma porta serial deixaria as linhas em qualquer estado anterior ao fechamento, portanto, se o último programa usado as deixasse em um estado estranho, elas permaneceriam nesse estado até a próxima vez que fossem abertas. Além disso, eu não sei se isso ainda é um problema no Windows, mas no DOS havia alguns PCs que definiam suas portas seriais para um estado bobo na energização. Pelo menos uma marca de PC definiria sua porta serial para transmitir uma pausa longa contínua até que fosse instruído de outra forma; isso foi memorável porque iria causar estragos em um determinado controlador incorporado se ele estivesse conectado antes do software do fornecedor ter sido iniciado.

    
por 23.06.2011 / 17:26

Tags