device 0 Denunciar post Postado Julho 1, 2013 Olá pessoal. Bom dia... Busquei na internet e achei muita matéria a respeito de portas paralela. Quanto ao acionar e desacionar saídas, tudo certo. Sei que as 5 entradas da porta estão sempre para nivel1. (+5) e para mudar de stado, basta aplicar GND. Estou precisando colocar um timer que fica varrendo constantemente o estado dessas portas e mostre em um edit seu estado. O timer precisa somar essas entradas em decimal e dependendo do valor que estiver, sei qual (quais) entradas foram para GND. Vi pessoas usando o endereço $378 Mas pelo que vi na internet seria $379 para ler as entradas Minha rotina é essa abaixo.... Tenho constantes já indicando os bits para pos pinos D0 à D7 (saídas) Aqui está funcionando... O código está abaixo... Podem ajudar como posso fazer para ler as entradas? Grde abraço e grato pela resposta ROTINAS interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, ComObj, DB, DBClient; Const BIT0 = $01; // 0000-0001 BIT1 = $02; // 0000-0010 BIT2 = $04; // 0000-0100 BIT3 = $08; // 0000-1000 BIT4 = $10; // 0001-0000 BIT5 = $20; // 0010-0000 BIT6 = $40; // 0100-0000 BIT7 = $80; // 1000-0000 PortIn = $379; PortOut = $378; type TForm1 = class(TForm) var Form1: TForm1; valInputs: integer; implementation {$R *.dfm} {Definição das funções da DLL.} function inportb(EndPorta: Integer): BYTE stdcall; external 'inpout32.DLL' name 'Inp32'; procedure outportb(EndPorta: Integer; Valor:BYTE); stdcall; external 'inpout32.DLL' name 'Out32'; procedure Tform1.OnD0; begin outportb(PortOut,BIT0); // 0000-0001 end; procedure Tform1.OnD1; begin outportb(PortOut,BIT1); // 0000-0010 end; //Isso até D7, mudando o BIT Para desacionar as saídas, vai de uma só vez. procedure Tform1.Off_D0D7; begin outportb($378,0); //Desliga todos os pinos do Registro de Dados. end; // Evento Timer procedure TForm1.Timer1Timer(Sender: TObject); var valor: Byte; begin // Aqui preciso mandar para um edit a soma em decimal do estado das entradas. //Se puder dar uma explicação, aí posso entender como isso funciona. end; Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Julho 2, 2013 Olá amigos. Amigo device, não sei qual o seu propósito, mas eu escolheria trabalhar com a suíte de componentes ACBr, pois os mesmos já possuem uma gama de componentes para uso voltado a automação. O bom é que você pode baixar os fontes e estudar em cima deles. Acredito que isso poderá te auxiliar bastante, ao menos comigo tem me ajudado muito. Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
device 0 Denunciar post Postado Agosto 21, 2013 Olá amigo Eisenheim Bom dia. O link que passou está corrompido. Poderia dispor esses componentes? meu e-mail é malepobox@gmail.com Agradeço a ajuda Compartilhar este post Link para o post Compartilhar em outros sites