Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Muestreo puerto Paralelo
Ir a página 1, 2  Siguiente
 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Muestreo puerto Paralelo Responder citando

Hola Amigos
Sucede que estoy haciendo mi trabajo de grado, , entre todo lo que tengo que hacer tengo que adquirir unos datos via puerto paralelo, mi problema está en la frecuencia maxima que puedo subir, el programa lo estoy trabajando en win98, pero solo me deja adquirir señales de menos de 1 Hz teniendo en cuenta que debo subir señales entre 10 y 20 Hz, . Ojala alguien me pueda ayudar con esto, no se si ouput32.dll me sirva el problema es que soy novato en Builder y no se como manejar las dll o si tienen una mejor solución les agradecería mucho
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hola Jario

Pon el codigo que estas utilizando para ver como manejas la frecuencia o danos mas informacion para poder ayudarte.

Saludos
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

pUES MIRA A CONTINUACION TE MUESTRO COMO ESTOY ADQUIRIENDO LOS DATOS, COMO PODRAS VER ESTOY MANEJANDO UN TIMER EL CUAL POR MEDIO DE UN LABEL PUEDO MODIFICAR EL INTERVAL (NUMERO DE PUNTOS A GRAFICAR) PERO EN NINGUN MOMENTO LE DIGO UN RANGO DE FRECUENCIAS O UTILIZO UNA DLL O ALGO QUE ME SIRVA PARA QUE ME DEJE SUBIR UNA FRECUENCIA MAYOR PORQUE REALMENTE NO LO SE HACER, MUCHAS GRACIAS SI PUEDES AYUDARME

void __fastcall TForm1::IniciarClick(TObject *Sender)
{
Timer1->Enabled = 1;
Series1->Clear();
outportb(0x37A, 43);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
dato = inportb(0x378)-255;
Timer1->Interval=StrToInt(Edit1->Text);
t++;
Series1->AddXY(t, dato, "", clTeeColor);
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

yA LOS DATOS ESTAN DIGITALIZADOS DESDE EL CIRCUITO PUES ESTOY UTILIZANDO UN ADC QUE LO HACE EN INPORT LE RESTO 255 PARA QUE ME GRAFIQUE LA SEÑAL EN EL EJE X PUES EL ADC ME MANDA LOS DATOS DESDE 0 HASTA 255 AYUDA POR FAVOR GRACIAS
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Ok Jario, por lo que entiendo, exactamente lo que necesitas es un timer con intervalos de microsegundos y no con milisegundos que es precisamente el que estas utilizando. Verdad?

Como Frecuencia = 1/Periodo, pues al seleccionar el menor intervalo (1miliseg), esto te va a dar una frecuencia de muestreo maxima de 1000Hz.

Asi que te recomiendo revises estos enlaces que encontré en el foro.
https://cppbuilder.es/viewtopic.php?t=9296
https://cppbuilder.es/viewtopic.php?t=9322&highlight=timer
http://www.clubdelphi.com/foros/showthread.php?t=14965

Los encontre por Timer con la funcion Buscar de este foro, y habian mas. Intentalo tu mismo a ver que encuentras.

Nos cuentas como te fue!
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

jacko mira he pusto un labe que em permite modificar la propiedad interval del timer y lo unico que hace es graficar con mas o con menos puntos, sin embargo no me permite adquirir una mayor frecuencia, alguien me dijo que es por el sistema operativo, yo lo estoy implementando en win xp y en win98 y en los dos se comporta igual no se si se deba utilizar una dll o algo que le permita al prograqma hacerlo conn mayor precision ayuda porfa gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hola Jario

Como te explicaba mas arriba, la cantidad de muestreos (precision) esta dada por el intervalo de tiempo que te permite el timer. Pero como el timer te permite muestreos maximos de 1KHz pues, no puedes leer mas frecuencias.

Revisa los enlaces que te puse, me acuerdo haber visto un for() que te permite hacer intervalos de tiempo mas pequeños.

Dudo que sea por el Sistema Operativo, porque los muestreos los hace el procesador sobre el puerto.

Nos cuentas como te va. Saludos.
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Te recomendaría usar el puerto serial y el muestreo lo realizas en un microcontrolador y comunicas las dos interfaces, creo que es la manera más apropiada para realizar este procedimiento y como dices que es un trabajo de grado, entonces merece el esfuerzo. Suerte...
_________________
Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Haber si es un trabajo de grado pero lo que estoy haciendo es un sistema completo de telemetría, estoy trabajandole a los radios RF(transmisor y receptor) al codificador y al decodificador y con el puerto paralelo estoy pretendiendo visualizar la señal en el pc, por que puerto paralelo? pues porque La interconexión entre el ADC y el PC a través del puerto paralelo posibilita un intercambio de información de una forma mas rápida que a través del puerto serie. Esto es debido a que se produce una transferencia de datos de byte en byte en lugar de ser de bit en bit (1 byte = 8 bits), lo del micro lo he pensado pero realmente tengo poca experiencia con esto, no se si pudieras ayudarme de antemano muchas gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Para el muestreo puedes usar el microcontrolador y al tiempo enviar la información (al menos que necesites una resolución muy alta para el adc y unavelocidad de transmisión elevada), y pues la serial no es del nada mala ya que puedes manejar velocidades de 4800kbps, 9600kbps,19200kpbs y más dependiendo del micro que se use. Yo usaba uno de microchip pic16f877 y el picC para programarlo. El código de la serial y de ADC ya viene en el compilador solo es llamar las funciones y listo. Suerte...
_________________
Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Bueno, creo que lo mejor que puedes hacer en este caso si es utilizar un micro o un pic. Yo tengo codigo del microcontrolador gp32 de motorola el cual utiliza el adc y el puerto serial.

Si deseas tomar este camino me avisas y te mando codigo que te puede ayudar.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: gracias ayuda Responder citando

Piraquive y quien pueda ayudarme estaría muy agradecido pues este es un trabajo muy importante para mi, ayudenme gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Amigos de verdad necesito ayuda, he intentado por todos los medios pero nada sigue funcionando a muy baja frecuencia Si alguien me pudiera ayudar le estaría muy muy agradecido
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Muestreo puerto Paralelo Responder citando

Hola jariosm:

Yo creo que la solución a tu problema es crear un programa RTI ( Rutina de Tratamiento de Interrupcion ), es decir:

1. La puerta paralela contiene una interrupcion IRQ7.
2. El controlador "hardware" se programa tanto de entrada como salida.
3. Este dispositivo gerea una interrupcion cuando sale o entra un dato.
4. Se puede asociar esta IRQ a un programa especifico, el cual captura el dato en el buffer de entrada o salida según sea el caso.
5. De esta forma queda independiente la frecuencia de llegada o salida de los datos por la puerta serial, ya que es por medio de interrupciones cuando se capturan.

Intenta por estos lados... yo tratare de buscar elguna rutina de ejemplo que tenia de los tiempos del DOS y WIN98...

Att.
vrodriguez
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

vrodriguez, muchas gracias por tu ayuda, mirare en internet como puedo hacer eso, de todas formas cualquier info que me puedas brindar te estaría muy muy agradecido
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.