Autor Tema: Envio por RS232 con fecha y hora  (Leído 3971 veces)

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

Desconectado batmand

  • PIC16
  • ***
  • Mensajes: 103
Envio por RS232 con fecha y hora
« en: 16 de Noviembre de 2004, 13:55:00 »
HOla a todos, soy bastante nuevo en esto, y queria hacerles una consulta, estoy haciendo un proyecto para enviar los datos recibidos desde un sensor de presion.

Tengo dos consultas:

1,yo leo los datos y los guardo en un registro, al que llame "areaesteril". Cuando le pido que envie los datos de ese registro por rs232, lo envia como decimal, o binario? Que tengo que hacer para que lo envie como decimal?

2 como puedo hacer para que despues de enviar los datos del registro, envie la fecha y hora?

Gracias de antemano!!!!!!

Desconectado _Canito_

  • PIC12
  • **
  • Mensajes: 74
RE: Envio por RS232 con fecha y hora
« Respuesta #1 en: 17 de Noviembre de 2004, 15:40:00 »
Hola,

Con respecto a tu pregunta 1:
Cuando envias un dato por RS232, se envian uno a uno los 8 bits que conforman el registro. Es decir que, desde el punto de vista de la "mecanica" de la transmision, podriamos decir que el dato se envia en forma binaria.

Es importante tener claro que las distintas maneras de representar un numero no modifican el valor.

Es decir que, si estas procesando un valor en un registro, por ejemplo el valor decimal 50 en el registro "areaesteril", no importa (y no te afecta) que el dato sea transmitido en formato binario, ya que el dato no cambia.
El receptor recibira un 50 en formato binario y como resultado fianl tendras en el registro receptor el valor 50. Despues podes procesarlo mediante el sistema de numeracion que mas comodo te que resulte en funcion de lo que desea realizar. En algunos casos es mas comodo manejarse en binario, en otros casos en decimal, y en otros en hexa.

Es decir que, un numero puede ser expresado en distintos sistemas de numeracion pero el valor no cambia, simplemente de muestra de manera distinta.

Por ejemplo: Decimal  50 = B"00110010 " = 32h (hexadecimal)

Cuando envias este dato por RS232 se envia una serie de pulsos correspondiente al formato binario. Pero en definitiva,estas enviando el valor 50.

Es importante tener claros estos conceptos para interpretar y procesar los datos correctamente.

Con respecto a tu pregunta 2:
Lo ideal para este caso es utilizar un reloj de tiempo real y almacenar los valores de fecha y hora en registro que transmitirias de ma misma manera que los datos.

Manejar fechas y horas en pic mediante codigo, es bastante engorroso.

Si estas enviando datos a una PC: Podrias hacer que el software de recepcion de datos obtenga el la fecha y hora en fue recibido el dato.

Un saludo
Jorge

Desconectado batmand

  • PIC16
  • ***
  • Mensajes: 103
RE: Envio por RS232 con fecha y hora
« Respuesta #2 en: 18 de Noviembre de 2004, 09:53:00 »
Hola Jorge, antes que nada gracias por tomarte el tiempo  para responderme.

Entendi bien lo que explicas, pero tengo algunas dudas sobre como implementarlo bien. Estoy usando el Niple porque entiendo muy poco de programacion, asi que disculpa si mis preguntas son muy elementales.

Quisiera describirte el programa que hice para que me digas si es correcto o no.

1- Recibo los datos de un convertidor AD, mediante "Recibir-RS232", en el pin RA3.
,y los guardo en un registro, al que llame "areaesteril".

2- Comparo ese registro contra dos valores fijos que estableci de antemano , que estan guardados en otros dos registros (maximo y minimo).

3- Si todo esta bien, envio el dato de "areaesteril" por RS232 al hyperterminal de window. Pero ese dato, esta como binario en el registro y va a aparecer como binario en la pantalla, correcto? Como hago para que aparezca en decimal?

¿Puedo realizar esa conversion con el Niple, para que transforme el valor de ese registro a decimal y lo envie asi, o no?

Por otro lado, con respecto a tu respuesta dos,de la fecha y hora, ¿se puede hacer con el hiperterminal lo que mencionas con respecto a que el programa indique la fehca y hora, o no?

Si no se puede, ¿podrias decirme que otro programa puedo usar para recibir los datos indicando la fecha y la hora?

Y por ultimo, si lo de anterior que es lo mas facil no se puede, si conoces algun articulo o link donde se explique como usar el reloj en tiempo real y conectarlo, te lo agradeceria muchisimo.

Gracias una vez mas.

Dario

Desconectado samro

  • PIC10
  • *
  • Mensajes: 1
RE: Envio por RS232 con fecha y hora
« Respuesta #3 en: 28 de Diciembre de 2004, 15:00:00 »
Mira te puedo explicar la primera pregunta:

El PICS es un microcontrolador , los PIC16F84 solo puedes ingresar y enviar  datos en forma discreta , es decir en formato digital.

El formato digital solo reconoce dos tipos de datos es decir un "1" que es un nivel alto de voltaje (por lo general el voltaje de alimentacion) y un "0" que es un nivel bajo de voltaje (que por lo general es 0 voltios).

Por otro lado cuando tu recibes o enbias datos por el puerto serial de tu computadora esta en formato ASII para una transmision en RS232.


Desconectado batmand

  • PIC16
  • ***
  • Mensajes: 103
RE: Envio por RS232 con fecha y hora
« Respuesta #4 en: 29 de Diciembre de 2004, 08:53:00 »
Hola samro, gracias por la respuesta, ya comprendi el tema, y un amigo me mando un programita que recibe el ascii y lo convierte solo a decimal

Lo que todavia no pude lograr es mandar la fecha y hora

Pero no me rindo, ya saldra

Gracias!!!!

Desconectado williambal

  • PIC10
  • *
  • Mensajes: 3
RE: Envio por RS232 con fecha y hora
« Respuesta #5 en: 24 de Enero de 2005, 07:41:00 »
batmand, me podrias enviar el programa que hace la conversion a decimal???