TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: AABHGA en 22 de Septiembre de 2006, 09:42:45

Título: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 22 de Septiembre de 2006, 09:42:45
Hola a todos, ahora con mi proyecto de crear una comunicación entre el pc y un pic, ando necesitando hacer un reloj con 3 variables H, M y S, el problema es como poner el tiempo, es decir como en PICBASIC poner un Pause 1000


Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: LordLafebre en 22 de Septiembre de 2006, 13:02:30
Hola:

Mira aqui:

http://www.todopic.com.ar/foros/index.php?topic=7067.15

Hay algunos ejemplos para comunicarse con pic y hay un reloj tambien y es justamente lo que necesitas.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 22 de Septiembre de 2006, 15:10:17
Ok thx por la info, voy a ver y te comento.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 23 de Septiembre de 2006, 05:55:44
Está muy bueno, solo falta probar haber si ya todo me va, el problema fue que el maldito 16f628 que estoy usando para las pruebas saco la mano.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: LordLafebre en 23 de Septiembre de 2006, 15:34:28
Hola:

De seguro te funciona, en la simulacion no va bien porque el barrido es muy rapido y no se alcanza a visualizar bien los numeros.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 23 de Septiembre de 2006, 17:21:38
No, no lo puedo simular, no tengo el proteus y ando con internet telefónico de momento porque he tenido mil y un problemas con mi proveedor de internet (ETB en Bogotá por si a alguien le sirve la info) estoy esperando a que el nuevo proveedor me instale el servicio, pero sabra Dios cuando me lo instalan, ademas en si no estoy haciendo un reloj, es un proyecto de control del pc a traves del pic.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 23 de Septiembre de 2006, 21:08:20
Oye Lord, otra vez yo por aca, no se si es porque soy muy bruto o no le tengo idea a la programación Visual y todas sus malditas subrutinas (yo me crié con POWERBasic para DOS) mira este código:

Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then
    datos = "Leyendo"
    cantidad = cantidad + 1
    valor = MSComm1.Input
    sumas = sumas + valor * 100
    suma = sumas
End If

Ya establecí comunicación entre el PIC y el PC y leo los datos (son todos numéricos) sin ningún problema, solo que no se como diablos hacer para que la variable sumas almacene el valor que tiene y cuando vuelva a recibir datos del PIC continue sumando desde ahí, el puerto lo tengo configurado de la siguiente manera:

MSComm1.CommPort = 1
MSComm1.Settings = "2400,n,8,1"
MSComm1.CommPort = 1
MSComm1.InputMode = comInputModeText
MSComm1.InputLen = 0
MSComm1.RThreshold = 1
MSComm1.RTSEnable = True
MSComm1.SThreshold = 1

¿Qué estoy haciendo mal?

Tambien me gustaría saber, cuando el programa esta en Stand By, donde diablos se queda esperando la siguiente orden?

Eso es todo, y disculpá tanta joda, pero como te digo el VB me habla y me menta la madre y yo no se ni como contestarle.

EDIT: Alfin pude, despues de casi 5 horas pude solucionar esto, me faltaba definir de que tipo eran las variables.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: LordLafebre en 24 de Septiembre de 2006, 01:39:21
Hola:

jeje, que bien que lo resolviste, y ya no maldigas tanto hombre  :P , que el VB no tiene la culpa  :D :D
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 24 de Septiembre de 2006, 19:56:30
Lo que no entiendo, es porque VB no tiene un comando llamdo PAUSE o Delay, toca que hacerlo y pone a trabajar el procesador a full.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: LordLafebre en 24 de Septiembre de 2006, 22:17:35
Hola:

eso es lo malo, si hace falta una funcion de tiempo  :?
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 24 de Septiembre de 2006, 22:33:11
La única sería hacer un .exe en powerbasic que tenga la función de tiempo y llamarlo cada vez que se necesite, porque de resto vaya joda, hay que tragarse todo el procesador para que logre contar tiempo.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: BrunoF en 24 de Septiembre de 2006, 22:50:49
No necesariamente.
Podes crear un timer, que cuando se ejecute, ponga una variable a true y que hasta que no se cumpla la condicion, el programa no siga.
Saludos.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: AABHGA en 25 de Septiembre de 2006, 00:13:48
Bruno, como no soy muy ducho en VB y apenas estoy comenzando, supongo que te refieres a esto:

Código: [Seleccionar]
Sub Delay(Segundos As Double)
  Dim TempTime As Double
  TempTime = Timer
  While Timer - TempTime < Segundos
    DoEvents
    If Timer < TempTime Then
      TempTime = TempTime - 24# * 3600#
    End If
  Wend
End Sub
Sacado de un programa de Lord

El problema es, cuando se está ejecutando eso, mira la grafica de uso del procesador, es de un 100%, y la verdad, aunque no consume recursos es una joda y nada práctico ni decente.
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: BrunoF en 25 de Septiembre de 2006, 02:17:12
Dejame probarlo bajo XP y te cuento.
Saludos
Título: Re: Hacer un Reloj con 3 variables H, M, S
Publicado por: aitopes en 26 de Septiembre de 2006, 15:43:42
Exacto!
Un timer y un contador pueden reemplazar al comando "pause" o "wait" de algunos basic. :)

Saludos.