Ir ao conteúdo
  • Cadastre-se

Portas paralelas e seriais em delphi


MESTRE-ANDREI

Posts recomendados

Oi.

Quero fazer algo simples tipo mandar energia para dois pinos da porta paralela ou fechar dois contatos da porta paralela, para poder acessar um ou mais relês.

Sei que tem como fazer isso através do Delphi, pois uma vez vi um site que o cara tinha feito um programinha em delphi que controlava um robozinho, só que não sei como se faz.

Tenho que misturar assembler com delphi, para poder fazer isso?

Gostaria que alguém me indicasse sites que contenham códigos para controlar estas portas, e se possível, exemplos de hardwares simples também.

Ou se alguém souber algum código, eu também agradeço.

Se tiver alguma coisa em C++ também pode ser.

Desde já agradeço pela ajuda de todos.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Depende do sistema operacional.

Se for Windows 9X/Me, você tem acesso direto e fica fácil.

Já se for Windows família NT (NT/2000/XP), os programas não podem acessar o hardware diretamente, precisam de um driver de dispositivo. você encontra alguns por ai.

Eu indico o GWIOPM. Tem ai um port para Delphi e um exemplo: http://www.wideman-one.com/gw/tech/Delphi/iopm/

Existem outros até mais simples. Esse dai que indiquei permite acessar qualquer porta e você precisa saber qual. No caso de porta paralela e serial, não tem segredo e você encontra na documentação dos padrões.

Recomendo que faça uma boa leitura do que é enviar dados para essas portas. Cada pino tem a sua função, tensão de trabalho, etc.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Postado Originalmente por MESTRE-ANDREI-FELIPE@16 dez 2004, 01:09

valeu mesmo pela dica. Vou ver agora mesmo.

O meu windows é ME.

Então é mais fácil. Tem essas funções ai embaixo .PortIn é para ler, Portout é para escrever. As que tem W no final gravam 2 bytes (um Word, número 16-bit, sem sinal) e as outras apenas 1 byte. Ai você tem que ler na porta em um determinado endereço. Aqui tem uma lista das portas mais usadas: http://www.angelfire.com/pa2/jcgr/tecnica/PP/aspec_gen.htm

Mas esse programa não irá funcionar em Windows NT.

function PortIn(IOport:word):byte; assembler;
asm
 mov dx,ax
 in al,dx
end;

function PortInW(IOport:word):word; assembler;
asm
 mov dx,ax
 in ax,dx
end;

procedure PortOut(IOport:word; Value:byte); assembler;
asm
 xchg ax,dx
 out dx,al
end;

procedure PortOutW(IOport:word; Value:word); assembler;
asm
 xchg ax,dx
 out dx,ax
end

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!