Autor Tema: Por favor, necesito ayuda, estoy perdido  (Leído 8317 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado alavai

  • PIC10
  • *
  • Mensajes: 15
Re: Por favor, necesito ayuda, estoy perdido
« Respuesta #15 en: 18 de Octubre de 2006, 16:30:20 »
Hola alavai  :) con respecto a tus preguntas
uno de mis grandes problemas es que no sé qué valores poner en:
Comm1.RThreshold
Comm1.InBufferSize
Comm1.InputLen
la propiedad RThreshold solo es necesaria si utilizas el evento OnComm, debes pensar muy bien el valor que se le pone. Si ponemos un valor corto (1 es el mínimo), cada vez que reciba un carácter se producirá el evento OnComm.
el puerto serial en visual basic trabaja solamente en ascii aunque el equipo los envie en hexa el puerto los recibe en ascii en tu caso, esto:
Citar
> > AFR                            HEX             8 bit
> > RPM   LSB                HEX            16 bit
> > RPM   MSB               HEX            16 bit
AFR mandara un caracter y los RPM 2 caracteres cada uno, pero hay que pensar bien que pondras ahi porque debes considerar tambien los 00 01 02 que te esta enviando (serian otros 3 caracteres) pero segun los datos que posteaste estas recibiendo mas  :shock:.

con esta propiedad Comm1.InBufferSize establecemos el tamaño del Buffer (almacén de datos) de entrada.
Puede conocerse el número de caracteres presentes en el Buffer de entrada consultando el valor de la propiedad InBufferCount..

Por defecto, cuando se lee el Buffer de recepción, se leen todos los caracteres, quedando el Buffer vacío.  Si se le asigna a Comm1.InputLen un valor distinto de 0, cada vez que leamos el Buffer de recepción leerá un número de caracteres igual a esa cantidad, permaneciendo los caracteres restantes en el Buffer a la espera de una nueva lectura. Asignándole el valor 0 (Valor por defecto), el buffer se lee completo.

ahora con respecto a la interpretacion de los datos tengo unas preguntas, segun la informacion que te dio el fabricante antes de enviar los datos envia la cadena 00 01 02 tal como te muestra el hyperterminal despues de esto supuestamente te envia AFR  (8 bits) y luego RPM (32 bits), 40 bits en total (10 numeros hexadecimales) pero entre cada cadena   00 01 02 hay el doble 80 bits (20 numeros hexadecimles) ¿estas seguro de que solo esta enviando estos datos? ¿asi como esta la cadena 00 01 02 para iniciar habra otra para finalizar?

saludos  :-/                         

Muchas gracias por tu ayuda.

Sí estoy seguro de que no recibo nada más.
Según veo en el terminal, se repite la secuencia 000102 que marca el principio del bloque.
No sabría decirte si hay algo que marque el final, aunque la cadencia es siempre la misma.

Si solamente llega ASCII, creo que estas 2 preguntas ya sabría, creo, encontrar alguna salida.
1.- De qué manera puede hacer para leer el puerto de 1 en 1 byte? Una vez pueda hacer esto, ya será cuestión de interpertarlos. Según he comprobado en el terminal, los valores que recibe sí cuadran con los datos que tienen que ser.
2.- De qué manera recibirlos en hexadecimal o decimal?

Gracias de antemano

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Por favor, necesito ayuda, estoy perdido
« Respuesta #16 en: 18 de Octubre de 2006, 16:31:16 »
Fijate que te respondi mientras escribias este ultimo mensaje.Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado alavai

  • PIC10
  • *
  • Mensajes: 15
Re: Por favor, necesito ayuda, estoy perdido
« Respuesta #17 en: 18 de Octubre de 2006, 18:00:45 »
ok
muchisimas gracias!!!  :P

Desconectado alavai

  • PIC10
  • *
  • Mensajes: 15
Re: Por favor, necesito ayuda, estoy perdido
« Respuesta #18 en: 19 de Octubre de 2006, 07:39:38 »
pues sigo con el tema y sigo volviéndome loco.
a ver si puedes echame otra mano y ya queda listo el tema.

el tema del AFR está listo.

pero ahora con las RPM estoy otra vez parado  :?

la fórmula que te dije ayer del otro foro, BrunoF, no sirve, pues los datos no llegan de la misma forma.

la formula que hay que aplicar es esta:
RPM=60/(4*MSB,LSB*26.0416*10^-6)

los datos que me llegan a ralentí son estos, y debería salir un valor en torno a las 800-900 rpms.


A ver si puedes echarme otra vez una mano salvadora.
Gracias de antemano.