Programación General > Visual Basic para principiantes

 Problemas Timer1_timer()

(1/2) > >>

IAO:
Hola a todos.

Soy un Novato. Este mi primer Mensaje.
Trataré comunicarles mi problema.
Hice a medias un programa que envía al Puerto físico (LPT1) unos Bits.
Luego le añadí un Puerto Lógico (200) y comenzaron los conflíctos.

Ambos Puertos (Lógico y Físico) tienen sus respectivos Módulos.

El programa funciona bién si lo compilo con uno solo de esos puertos (Lógico o Físico).
 
Pero al unir los 2 puertos  en el  "Private Sub Timer1_Timer()", los indicadores de salida (led's), muestran intermitencia.

Entiendame por favor, no le pido, que me lo haga.
Solo que me oriente, en lo que pueda.
Si debo leer algo en particular, muestreme el enlace.
He intentado varias maneras y formas, pero sin resultado.


Por favor.
Dele un vistazo al código, y hágame algún comentario.
Será de mucha utilidad para mí.
Si prefieres bájate el proyecto completo, al final puedes tomarlo.
*-*-* (Gracias y recontra Gracias)*-*-*

Private Sub Timer1_Timer()

    ' Read SIGNED WORD from port 200:
    EmuPto = 200 'READ_IO_WORD(200)
    Dim i As Integer
    Dim v As Byte
    For i = 0 To 7
        v = EmuPto Mod 2 'Cantidad de digitos. 1 y 0 Aquí.
        Led(i).Picture = dig(v).Picture
        EmuPto = Int(EmuPto / 2) '10)
    Next i

'Lee el dato del puerto.  'Inp(&H378)
m = Inp(Puerto)  '+ 1) Esto Daba un problema en la salida.

'Debe ir en éste Orden.
'=========================
'Otra forma de Entenderlo.
If m > 127 Then Bit(7) = 0: m = m - 128 Else Bit(7) = 1 '0 'Invertido
If m > 63 Then Bit(6) = 0: m = m - 64 Else Bit(6) = 1
If m > 31 Then Bit(5) = 0: m = m - 32 Else Bit(5) = 1
If m > 15 Then Bit(4) = 0: m = m - 16 Else Bit(4) = 1
If m > 7 Then Bit(3) = 0: m = m - 8 Else Bit(3) = 1
If m > 3 Then Bit(2) = 0: m = m - 4 Else Bit(2) = 1
If m > 1 Then Bit(1) = 0: m = m - 2 Else Bit(1) = 1
If m > 0 Then Bit(0) = 0: m = m - 1 Else Bit(0) = 1

'Controla los Led's de estado.
For Ciclo = 0 To 7
If Bit(Ciclo) = 0 Then _
Led(Ciclo).Picture = LoadPicture(App.Path + "\LR.BMP") _
Else Led(Ciclo).Picture = LoadPicture(App.Path + "\LG.BMP")
Next Ciclo
End Sub[/size]

eliza_marti:
Holas IAO  :hola: ...Estuve viendo tu code y analizando lo que nos dices..que te funciona bien por separado...pues..creo que tu problemita está en que los dos Timers los mandas a ejecutar al mismo tiempo predeterminadamente (Enabled= true)   :(   y ...como dentro de los dos timer tambien mandas a simular el encendido y apagado habilitando y desabilitando los mismos Leds (Bmp's) ..tonces eso te podría estar ocasionando la intermitencia visualmente hablando.. :) ..mmm..si hicieras otro arreglo de Leds podrias notar la diferencia..o si ..no se ..podrías validar para que por ejemplo .. si Port.ListIndex=0 tonces timer1.enabled=true y timer2.enabled=false ....y hacer algo parecido si el Port.ListIndex=1 tonces te tocaría lo contrario..timer2.enabled=true y timer1.enabled=false...
 :)  ...Bueno...ese lo que yo haría en tu caso..para probar si ese es el error.. :P ...mucha suerte..y nos cuentas como te fue.. ;) ..ojalá que te valla bien.. :)  Bye..bye.. :hola: .. :comp:  :guitar:

PDTA: IAO..noté que el Combobox llamado Port está muy chiquito..y no se podía ver las otras 2 opciones de los puertos LPT1 y LPT2.. :( ...yo las tuve que agrandar para evitar confusiones..te aconsejaría lo mismo.. :)  ahora si me voy.. :hola:  no los canso más.. :P ...

eliza_marti:
Ah.. :unsure: ..se me olvidaba..IAO..date cuenta tambien de los Interval de los Timers..mira que uno es de 300 y el otro de 100..uno se ejecuta detrás del otro..y como su resultado está en el mismo arreglo  de Leds (Bmp's)..(1 para 2)..mmm...por ahi tambien puede estar tu error.. :)
Ahora si..emprendo la retirada..Adios.. :hola:

IAO:
Hola...

Gracias "Eli" por sus comentarios.
Los analizaré, luego les comento.

Sobre el ComboBox, te comento que: Siempre_Encima Control32, True
es el responsable de mantener en primer plano el "FORM". Esto hace que el
ComboBox se comporte un tanto extraño. Hice una trampa para evitar ese problema.

Disculpen si tardo un poco en responder.

Lo de "Eli" es por cariño. Se ve lindo.

Regresaré.

IAO:
Hola.

Como les decía, !!!!!YA ESTA¡¡¡¡¡    :beer:

El Programa tomó otro rumbo, pero funciona Igual.
No pude hacerlo funcionar con el "ComboBox", pero le
apliqué unos "RadioButom" y todo bién.

Aquí se los dejo como muestra de amistad.
El que quiera bájelo y disfrútelo, sino déjelo allí.

Gracias "Eli"  , no me funcionó, pero me ayudó a otro enfoque.

Por los momentos, queda así, mientras termino mis proyectos
de Assembler que son muchos.

Chao, espero lo disfruten. Chao "Eli"  :kiss:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa