FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Diferente velocidad en distintos pines del puerto paralelo
Hola ! me podrian guiar en una aplicacion con la que estoy practicando , quiero sacar un tren de pulsos por el pin uno del puerto paralelo y cuando intento sacar el segundo tren de pulsos por el segundo pin resulta que un pin ya no va a la velocidad que yo quiero ! , creo que estoy teniendo problemas de logica pero no se como encararlo ! aca paso el codigo
procedure Tform1.Timer1Timer(Sender: TObject); var Estado1: String; begin if (valorActual = strtoint(txtPararEntrada.text)) then begin exit; end; if envios1 = 3 then begin if checkbox1.checked then begin valor := 1; im3.Brush.Color := clRed; Estado1 := 'si'; end; end; if envios1 = 4 then begin im3.Brush.Color := clblack; valor := 0; Estado1 := 'no'; end; if envios1 = 0 then begin imReset.Brush.Color := clyellow; im3.Brush.Color := clblack; Estado1 := 'Indefinido'; end else imReset.Brush.Color := clBlack; begin if envios1 = 1 then begin im3.Brush.Color := clYellow; Estado1 := 'Indefinido'; end; end; if envios1 = 4 then envios1 := 2; Out32(StrToInt(txtpuertobucle.text), valor); envios1 := envios1 + 1; be.panels[9].text := 'Envíos: ' + Estado1; Timer1.Interval := ((strtoint(txtmaximo.text) + 1) - deslizador1.position) {div 1}; end; //************************************ procedure Tform1.Timer3Timer(Sender: TObject); var Estado2: String; begin if (valorActual = strtoint(txtPararEntrada.text)) then begin exit; end; if envios2 = 3 then begin if checkbox2.checked then begin valor := 2; im4.Brush.Color := clRed; Estado2 := 'si'; end; end; if envios2 = 4 then begin im4.Brush.Color := clblack; valor := 0; Estado2 := 'no'; end; if envios2 = 0 then begin imReset.Brush.Color := clyellow; im4.Brush.Color := clblack; Estado2 := 'Indefinido'; end else imReset.Brush.Color := clBlack; begin if envios2 = 1 then begin im4.Brush.Color := clYellow; Estado2 := 'Indefinido'; end; end; if envios2 = 4 then envios2 := 2; Out32(StrToInt(txtpuertobucle.text), valor); envios2 := envios2 + 1; be.panels[9].text := 'Envíos: ' + Estado2; Timer3.Interval := ((strtoint(txtmaximo.text) + 1) - deslizador2.position) {div 1}; end; //****************************************************************************** procedure Tform1.Iniciar1Click(Sender: TObject); begin Timer1.Interval := deslizador1.position; Timer2.Interval := (strtoint(txtmaximo.text) + 1) - deslizador1.position; im1.Brush.Color := clblack; im2.Brush.Color := clgreen; im3.Brush.color := clblack; envios1 := 1; valor := 0; if valor = 256 then Timer2.Enabled := False; Timer1.Enabled := True; be.panels[0].text := 'Bucle iniciado'; be.panels[1].text := 'Iniciar 1 Activado'; end; //************************************ procedure Tform1.Iniciar2Click(Sender: TObject); begin Timer1.Interval := deslizador2.position; Timer4.Interval := (strtoint(txtmaximo.text) + 1) - deslizador2.position; im1.Brush.Color := clblack; im2.Brush.Color := clgreen; im3.Brush.color := clblack; envios2 := 2; valor := 0; if valor = 256 then Timer4.Enabled := False; Timer3.Enabled := True; be.panels[0].text := 'Bucle iniciado'; be.panels[2].text := 'Iniciar 2 Activado'; end; |
#2
|
||||
|
||||
No entiendo muy bien el código, pero parece que usas dos timers, uno para cada 'pin'.
Si es así, es un error, quiero decir que lo que tienes que hacer es leer el puerto una sola vez y de ahí obtener el valor de cada 'pin'. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#3
|
|||
|
|||
Creo que no soy muy claro ! Perdón !
Creo que no soy muy claro ! Perdón ! lo que estoy buscando es escrivir y no leer pero mas concretamente quiero saver si puedo con un reloj mandar un tren de pulsos en el pin 1 y con otro reloj mandar al pin 2 otro tren de pulsos el reloj 1 tendria un tiempo distinto al reloj 2 ; es posible sacar datos en dos pines a diferentes frecuencias ? ? .
PD : perdón por la identación ! . |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Puerto paralelo | bactering | Varios | 8 | 15-09-2011 07:55:09 |
Puerto Paralelo | axel77 | API de Windows | 1 | 23-08-2007 04:45:56 |
Puerto paralelo en C | Chase | C++ Builder | 0 | 04-07-2005 12:29:37 |
Puerto Paralelo | jorge | Lazarus, FreePascal, Kylix, etc. | 1 | 20-04-2005 03:25:42 |
Puerto Paralelo | solovaer | Impresión | 0 | 08-03-2005 02:54:54 |
|