Recebendo sinal da porta paralela !!??
07/12/2005
0
Pessoal estou com umas ideias novas gostaria de saber como ki faço para capturar sinais que chegam atraves da porta paralela e como enviar tbm !!!!
so ki nao tenho nen ideia de como fazer isso !! mais nenhuma mesmo desde os cabos ate ao desenvolvimento do software !!!!
espero que vc´s me ajuden !!!!!
vlw
Guilherme
Posts
07/12/2005
Vieira_alex
http://www.rogercom.com/frame1.htm
12/12/2005
Dopi
Acho que os links a baixo podem ajudar...
http://www.sabereletronica.com.br/downloads.htm (veja o 319)
http://forum.clubedelphi.net/viewtopic.php?t=70844
12/12/2005
Dopi
Portanto: 378 -> 888 (use a calculadora do Windows em modo cinetífico para converter)
{----------------------------------------------------------------------------- Lê 1 byte de uma porta de Hardware Nota: - Essa funçao funciona normalmente em Win9x, - XP /NT /2000, deve-se usar um device driver que permita acesso direto a porta do Hardware a ser acessado (consulte o fabricante do Hardware) - Linux: é necessário ser ROOT para acessar /dev/port (use: su ou chmod u+s SeuPrograma ) ---------------------------------------------------------------------------- } {$WARNINGS OFF} function InPort(PortAddr:word): byte; {$IFDEF LINUX} var Buffer : Pointer ; FDevice : String ; N : Integer ; FHandle : Integer ; {$ENDIF} begin {$IFDEF MSWINDOWS} asm mov dx,PortAddr in al,dx end; {$ELSE} FDevice := ´/dev/port´ ; Buffer := @Result ; FHandle := FileOpen(FDevice, fmOpenRead); if FHandle <= 0 then raise Exception.Create(´Erro abrindo: ´+FDevice+#10+10+ ´Você deve ter direito de Leitura nesse diretório.´); try N := FileSeek( FHandle, PortAddr, 0 ) ; if N <= 0 then raise Exception.Create(´Erro ao acessar a porta: ´+IntToStr(PortAddr)); N := FileRead(FHandle, Buffer^, 1) ; if N <= 0 then raise Exception.Create(´Erro ao ler a porta: ´+IntToStr(PortAddr)); finally FileClose( FHandle ); end ; sleep(5) ; {$ENDIF} end ; {$WARNINGS ON} {----------------------------------------------------------------------------- Envia 1 byte para uma porta de Hardware Nota: - Essa funçao funciona normalmente em Win9x, - XP /NT /2000, deve-se usar um device driver que permita acesso direto a porta do Hardware a ser acessado (consulte o fabricante do Hardware) - Linux: é necessário ser ROOT para acessar /dev/port (use: su ou chmod u+s SeuPrograma ) ---------------------------------------------------------------------------- } procedure OutPort(PortAddr: word; Databyte: byte); {$IFDEF LINUX} var Buffer : Pointer ; FDevice : String ; N : Integer ; FHandle : Integer ; {$ENDIF} begin {$IFDEF MSWINDOWS} asm mov al, Databyte mov dx,PortAddr out dx,al end; {$ELSE} Buffer := @Databyte ; FDevice := ´/dev/port´ ; FHandle := FileOpen(FDevice, fmOpenWrite); if FHandle <= 0 then raise Exception.Create(´Erro abrindo: ´+FDevice+#10+10+ ´Você deve ter direito de Escrita nesse diretório.´); try N := FileSeek( FHandle, PortAddr, 0 ) ; if N <= 0 then raise Exception.Create(´Erro ao acessar a porta: ´+IntToStr(PortAddr)); N := FileWrite(Fhandle, Buffer^, 1) ; if N <= 0 then raise Exception.Create(´Erro ao escrever na porta: ´+IntToStr(PortAddr)); finally FileClose( FHandle ); end ; sleep(5) ; {$ENDIF} end ;
Clique aqui para fazer login e interagir na Comunidade :)