Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como hago que el TIMER se ejecute a mas de 1miliseg

Estas en el tema de Como hago que el TIMER se ejecute a mas de 1miliseg en el foro de Visual Basic clásico en Foros del Web. Buen dia Tengo un pequeño problema, necesito leer datos del puerto paralelo, este esta conectado a un circuito ADC (su velocidad de conversion es de ...
  #1 (permalink)  
Antiguo 21/09/2005, 02:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 4
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta Como hago que el TIMER se ejecute a mas de 1miliseg

Buen dia


Tengo un pequeño problema, necesito leer datos del puerto paralelo, este esta conectado a un circuito ADC (su velocidad de conversion es de 200microseg), entonces necesito que el programa que voy a hacer en VB me lea a esa misma velocidad, con el TIMER nada mas puedo mandar a llamar la funcion que lee los datos a 1miliseg (interval=1), como puedo hacer que leea a la misma velocidad de mi circuito o alguna otra manera de hacerlo.

bueno les agradeceria mucho que me ayuden!!!!
  #2 (permalink)  
Antiguo 21/09/2005, 07:18
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
VISTE COMO PASAS DE METROS A KILOMETROS, BUE PASÁ DE MICROSEGUNDOS A MILISEGUNDOS Y PONPÉ ESO EN EL INTERVLO DEL TIMER KIZAS NO ES LO KE BUSCAS PERO ES UNA IDEA KE SEME OCURRIÓ RECIEN EJEJ SALU2 Y ESPERO TE SIRVA

BYE
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #3 (permalink)  
Antiguo 21/09/2005, 08:02
 
Fecha de Ingreso: septiembre-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 0
Con el timer no vas a poder hacer eso,, aunque pongas 1 milisegundo se ejecuta como maximo unas 6 o 7 veces por segundo....
__________________
Buby Systems
  #4 (permalink)  
Antiguo 22/09/2005, 10:40
 
Fecha de Ingreso: septiembre-2005
Mensajes: 4
Antigüedad: 18 años, 7 meses
Puntos: 0
bubilo entonces que podria hacer para que tenga una rutina que lea datos a esa velocidad???

ALDO1982 gracias por ayudar pero en mas rapido el circuito que el TIMER
velocidad del circuito = 0.0002 seg
y la velocidad del timer (interval=1) es = 0.001 seg

entonces quiero saber la manera de trabajar a la misma velocidad del circuito
  #5 (permalink)  
Antiguo 22/09/2005, 11:29
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
creo que a esta velocidad se saturaría la aplicación y no funcionaría como ustedes piensan.. al menos en mi forma de pensar son muchos ciclos para una aplicación primero sería de ver que tanto va a cargar la aplicación lo que desean hacer..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #6 (permalink)  
Antiguo 23/09/2005, 01:47
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Pues a mí me ha resultado necesario alcanzar incluso intervalos de 1µs, para implementar protocolos como 1Wire, y de algunas decenas de microsegundos para I2C.
El problema aquí, no es que no puedas alcanzar un retraso o un intervalo con con esa resolución, ya que con algo de ensamblador, y la instrucción RDTSC podrías alcanzar resoluciones menores a 1µs si tu procesador es suficientemente rápido. El problema es que VB tardará en procesar las instrucciones. Luego tu SO tardará en lo que envía las instrucciones al driver del puerto. Y muchas veces, la suma de esos tiempo, bien podría superar el intervalo que deseas.
No se que ADC estás usando, pero imagino que tiene un comando de conversión, y algún indicador de conversión en progreso. Si es así, para más o menos alcanzar el intervalo, tendrías que verificar constantemente el estado del ADC en un bucle. Es una solución típica.
Otra solución es solicitar/hacer un driver. Y eso queda fuera del alcance de esta discusión y de mi alcance también.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:37.