Ir ao conteúdo

Posts recomendados

Postado

pessoal estou com uma duvida. tem um programa que uso que ele usa para acionamento o pino 7 da serial. normalmente ele fica desligado usando uma porta serial interna de computador. mais utilizando uma placa usb serial como esta da foto. Estou utilizando o pino marcado com a flecha azul, que penso eu ser um pino 7 da serial.

Mais ao ligar esta placa no computador este pino RTS fica acionado, sem eu mandar liberar pelo programa. Minha duvida é: este pino RTS que soldei da placa é realmente o pino 7 que posso utilizar dessa placa serial? como posso configurar ela para ficar desligado. e depois ligar ela pelo programa.

placa usb serial.jpg

placa-usb-serial.jpg

  • Membro VIP
Postado

A nível mais alto, RTS CTS são usados pra controle do fluxo de dados

https://mecrisp-stellaris-folkdoc.sourceforge.io/terminal-hardware-handshaking.html

A mais baixo, antigamente era basicamente bits da porta serial que você escrevia e lia com outport e inport - não lembro e não pesquisei os bits dos endereços que eram basicamente de 0x2f8,0x2f9...0x3f8,0x3f9

Qual o objetivo de seu controle? Não tens a opção de ignorá-lo?

Postado

na verdade não. Não sei exatamente ainda porque a pessoa que fez este software utilizou este pino. Mais sei dizer que ele fez este programa usar por padrão o pino 7 para acionar alguns equipamentos comercias que utilizam este pino. que no caso funciona nas portas seriais internas de computadores e cabos usb serial. 

O caso é que estava pensando se uma placa usb serial dessa foto que postei aqui serve para esta finalidade. ou poderia utilizar outra combinação de pinos? estou optando por tentar utilizar esta placa usb pois os cabos adaptadores usb seriais tem a tendência de se desconfigurar o numero da porta serial com facilidade. e ai tenho que ficar algumas vezes que ficar arrumando. E como esta sendo comercializado este software a distancia, tenho que arrumar a porta as vezes. Outra coisa também é que portas serias hoje como esta sendo obsoleto nos computadores modernos pretendia oferecer uma conectividade usb para os clientes. Para facilitar mais. ai preciso de umas ideais de vocês.

  • Membro VIP
Postado

Ainda me continua nebuloso. Em qual lado do sistema você tem domínio? O do pc ou do mc? Do sw ou do hw?

2 horas atrás, gahaas disse:

programa usar por padrão o pino 7 para acionar alguns equipamentos comercias que utilizam este pino. que no caso funciona nas portas seriais internas de computadores e cabos usb serial. 

O caso é que estava pensando se uma placa usb serial dessa foto que postei aqui serve para esta finalidade.

O programa já existe e funciona? ok... e não há como teorizar se aquele adaptador vai funcionar ou não. Só testando. De prática te digo que programas antigos não funcionam. Eles só viam COM1 na 0x3f8, COM2 na 0x2f8 e por aí vai. Algo como eles tinham "tato". Hoje em dia os pc só têm "visão"

  • Curtir 1
Postado

só tenho domínio do hardware. Poderia pedir para o dono do software alguma mudança. mais acho que não seria possível.

enfim o software funciona usando a porta serial interna de computadores e cabo adaptadores usb serial.

só que testei com esta placa usb serial e o pino 7 fica acionado direto sem eu mandar acionar pelo software e tem que ser ao contrario. minha pergunta é. eu poderia mandar esse pino se desligar pelo software? Ou seja mandar um comando pela serial para que o pino 7 se mantenha desligado? E depois mando acionar pelo software?

  • Membro VIP
Postado

Vou te falar o que sei (ou melhor acho que sabia) sobre o bit RTS

Request To Send: Informa(va) ao periférico que o 8250 está apto pra transmitir

-era um pino do ci 8250 olha ele lá

uart.gif

-correspondia ao bit1 do registro MCR - Modem Control Register - que ficava no endereço 0x3fe (0x2fe pra com2...)

-se eu voltasse ao passado, manipulava ele com algo como

a=inport(0x3fe); //pra não zoar outros bits
a&=0b11111101;//~2; //só bit1
outport(0x3fe,a);
a|=0b00000010;//2;//só bit1
outport(0x3fe,a);

é o mais próximo que consigo chegar disso...

1 hora atrás, gahaas disse:

um comando pela serial para que o pino 7 se mantenha desligado? E depois mando acionar pelo software

 

-como os d+ pinos do db9 (db15) , tinha nível +12V e -12V na saída

 

Se a com virtual criada pela usb fosse manipulável facilmente assim.. aí sim hein... sqn. Aguarde respostas "atualizadas" ou continue a pesquisa e, claro, retorne com algum progresso...

Postado
1 hora atrás, gahaas disse:

só tenho domínio do hardware. Poderia pedir para o dono do software alguma mudança. mais acho que não seria possível.

enfim o software funciona usando a porta serial interna de computadores e cabo adaptadores usb serial.

só que testei com esta placa usb serial e o pino 7 fica acionado direto sem eu mandar acionar pelo software e tem que ser ao contrario. minha pergunta é. eu poderia mandar esse pino se desligar pelo software? Ou seja mandar um comando pela serial para que o pino 7 se mantenha desligado? E depois mando acionar pelo software?

 

Posso estar errando em alguma coisa, mas ela funciona mais ou menos assim. Qualquer engano, nossos colegas poderão corrigir.

A comunicação entre dois equipamentos é constituída por dois (ou mais) elementos.

O DTE e o DCE.

O DTE (Data Terminal Equipment) é o mestre, quem controla a comunicação).

O DCE (Data Circuit-terminating Equipment – usualmente um modem) é quem recebe os dados.

Mas antes de enviar esses dados é necessário seguir um protocolo. Esse protocolo tem a função de interligar corretamente esses dois equipamentos. 

Antes de enviar os dados é necessário que o DCE esteja pronto para receber os dados do DTR.

Então o DTR envia um pulso RTS (pedido de envio de dados) ao DCE. O DCE recebe esse pedido e se configura para receber os dados. Quando esta configuração é realizada, o DCE envia um pulso CTS (Clear To Send) ao DTE, informando que o DCE está pronto para receber os dados do DTE. Aí então, e somente aí, é que o DTE começa a enviar os dados. 

Então, para iniciar a comunicação, o DTE TEM que receber um sinal de CTS após o envio do pulso RTS.

Mas..... Acontece o seguinte....

Alguns programas, tentando realizar uma comunicação entre componentes específicos, apenas usam alguns pinos da porta serial para gerar os sinais necessários, mesmo que estes não sigam os padrões estabelecidos.

Um exemplo é encontrado no aplicativo AVRDUDESS, que gerencia gravações de dados entre o PC e microcontroladores. 

Lá se encontram muitos exemplos usando estes pinos para produzir a sequência necessária para que o gravador (hardware) interfaceie os dados entre o PC e os microcontroladores.

Como você pode ver, a coisa não é simples e é necessário conhecer tudo sobre a comunicação específica para o seu caso.

MOR_AL

Postado

voce quer dizer que se eu manipular (setar os bits da serial) da placa usb minha, pelo programa que estou usando ele ira manter o rts em estado zero. E quando eu mandar o programa acionar ele ativa em nivel alto o rts? seria isso?

E no caso dessa plaquinha usb quando eu ligo ela no computador as saídas elas estão desconfiguradas?. por isso o RTS fica acionado?

  • Membro VIP
Postado

Amigo estes detalhes são muito "pessoais" ou seja entre você e seu sistema. Como bem disse o amigo @MOR , cada um segue o padrão que lhe aprouver. Portanto eu não chamaria de

1 hora atrás, gahaas disse:

desconfiguradas

e nem mesmo de

1 hora atrás, gahaas disse:

RTS fica acionado

pois tem protocolo que nem usa ele.

 

1 hora atrás, gahaas disse:

voce quer dizer que se eu manipular (setar os bits da serial) da placa usb minha, pelo programa que estou usando ele ira manter o rts em estado zero. E quando eu mandar o programa acionar ele ativa em nivel alto o rts? seria isso?

Sim é isso... apesar que nem sabemos qual programa, qual sistema, qual IDE, qual compilador você usa e etc mas se ele conseguir manipular os bits desta comx aleluia. Só não sei como você faria isso em "alto nível". Tenta estudar os protocolos de comunicação. De repente um deles tem os sinais manipuláveis em nível alto...

https://www.windmill.co.uk/handshaking.html

Postado

isadora ferraz. utilizao o windows 7. qual compilador posso uilizar estes comandos para mandar na minha porta serial?

a=inport(0x3fe); //pra não zoar outros bits

a&=0b11111101;//~2; //só bit1

outport(0x3fe,a);

a|=0b00000010;//2;//só bit1 outport(0x3fe,a);

  • Membro VIP
Postado

Isso não existe mais. O acesso aos ports foi restringido supostamente pra melhorar segurança (pra mim foi mais pra me ferrar kk). Até o xp e quando havia a interface serial de verdade eu usei inport32.dll. Ele é (era) acessível a qualquer linguagem. Mas você pode fazer até no vb do excel. Vai ter que debruçar sobre ele.. Já fiz e até publiquei em algum forum e quase tenho certeza que foi neste mesmo.

Mas acho que você está colocando a carroça na frente do cavalo e o que você me leu foi de uma certa forma bem pessoal pois ninguém com menos de .xxxxx. anos e em sã consciência acessaria os ports daquela forma kk..

Deve existir maneira mais 'manêra brô'. Também sugiro avaliar seu sistema (secreto?) pra ver se isso é muito necessário.

  • 2 meses depois...
Postado

pessoal boa noite. desculpem pela demora. estava estudando alguma forma de conseguir arrumar o acionamento do meu pino RTS. Bom em relação ao programa não sendo meu e de outra pessoa, ela vai posteriormente verificar a edição deste programa para arrumar esses bits.

Mais posso dizer que resolvi por enquanto da seguinte forma:

Tentei varias combinações de pinos da placa usb serial. Usei a seguinte combinação de pinos:

PINO POSITIVO 3 (RTS)

PINO NEGATIVO 7 (RTS)

Normalmente quando a placa usb da foto aqui da postagem é ligado e reconhecido pelo windows, os pinos ficam assim:

PINO POSITIVO 3 (RTS) em 1

PINO NEGATIVO 7 (RTS) em 1

deixando meu circuito desligado como eu preciso.

quando mando acionar saída em nível alto com o programa os pinos ficam assim:

PINO POSITIVO 3 (RTS) em 1

PINO NEGATIVO 7 (RTS) em 0

acionando em nível alto meu circuito que entra em um acoplador.

acionando no programa de volta  circuito é desligado como abaixo

PINO POSITIVO 3 (RTS) em 1

PINO NEGATIVO 7 (RTS) em 1

Tambem descobri que consigo tambem fazer o seguinte:

PINO VCC 5 VOLTS DA PLACA (POSITIVO)

PINO NEGATIVO 7 (RTS) em 1

acionando pelo programa

PINO VCC 5 VOLTS DA PLACA (POSITIVO)

PINO NEGATIVO 7 (RTS) em 0

Também aciona o circuito, com a diferença de eu conseguir um pouco mais de corrente para acionar meu fotoacoplador.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!