Autor Tema: Programa Comunicacion de temperatura envio de datos HSEROUT S.O.S  (Leído 2307 veces)

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

Desconectado microfull

  • PIC10
  • *
  • Mensajes: 26
    • microfull
Programa Comunicacion de temperatura envio de datos HSEROUT S.O.S
« en: 14 de Octubre de 2006, 03:12:58 »
Estoy trabajando en un circuito que lea el valor de una termocupla este valor se toma con uno de los conversores del pic
la lectura es de 10bit luego ese valor lo envio por el puerto serie para luego capturarlo con visual basic y mostar la temperatura, al igual visual envia datos como set poin control de encendido de vcentiladores que luego el pic debe activar
el primer problema es que al enviar los datos de el voltaje memido con el pic por serie obtengo en hipèrterminal una cadena interminable osea el numero yo lo mueto tambien en una lcd ella me muestra "Value:114" pero al enviar el valor por via serie me envia 114114114141141141141141141141441441414 en numero pegado como puedo hacer para que el puerto serie reciba 114 solo y cuando el valor cambie ejemplo 54     y no 114114114114545454545114141117414
porque asi no se como obtenerlo con visual basic y com le digo a visual cuando el valor es de un conversor y cuando de otro por ejemplo quiero decirle AN0=114  AN1=54 An2=10 Ventilador=oK deferentes variables

envio hasta donde llevo el programa
' PicBasic Pro program to display result of
' 10-bit A/D conversion on LCD
'
' Connect analog input to channel-0 (RA0)

' Define ONINT_USED to allow use of the boot loader.
' This will not affect normal program operation.
Define   ONINT_USED   1
DEFINE  OSC         20
' Define LCD registers and bits
Define   LCD_DREG   PORTB
Define   LCD_DBIT   4
Define   LCD_RSREG   PORTB
Define   LCD_RSBIT   1
Define   LCD_EREG   PORTB
Define   LCD_EBIT   3
DEFINE  LCD_RWREG   PORTB
DEFINE  LCD_RWBIT   2

' Define ADCIN parameters
Define   ADC_BITS   10   ' Set number of bits in result
Define   ADC_CLOCK   3   ' Set clock source (3=rc)
Define   ADC_SAMPLEUS   50   ' Set sampling time in uS

' Comunicacion Serie configuracion
DEFINE HSER_RCSTA 90h   'Reseptor Habilitado
DEFINE HSER_TSTA 20h    'Trabsmicion Habilitado
DEFINE HSER_BAUD 9600   'Velocidad De Transmicion



adval   var   word      ' Create adval to store result


   TRISA = %11111111   ' Set PORTA to all input
   ADCON1 = %10000010   ' Set PORTA analog and right justify result
   Low PORTE.2      ' LCD R/W line low (W)

   Pause 500      ' Wait .5 second

loop:   ADCIN 0, adval      ' Read channel 0 to adval

   Lcdout $fe, 1      ' Clear LCD
   Lcdout "Value: ", DEC adval   ' Display the decimal value 
   HSEROUT [DEC ADVAL]

   Pause 100      ' Wait .1 second

   Goto loop      ' Do it forever
   End

Les pido el favor que me ayuden en lo que mas puedan
www.microfull.com
Desarrollo de proyectos microcontrolados

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Programa Comunicacion de temperatura envio de datos HSEROUT S.O.S
« Respuesta #1 en: 14 de Octubre de 2006, 03:24:40 »
Hola no he trabajdo aun con envio serie por Hardware todo lo he hecho por software, pero aun asi creo que puedes agregar  ademas de DEC ADVAL un" ,13" que si no mal recuerdo es una vuelta de carro o enter para que los datos se separeny no salgan pegaditos. Con respecto a lo de mandar por separado los valores de cada sensor podrias usar datos de control o sincronizacion, via software es:

serout pinx, velocidad,[dato1,dato2]

 donde dato1 es de control, como un 1 si es dato del an0 o 2 si es dato del an1, calro que para el programa de visual basic tendrias que implementar que si el primer dato es igual a 1 el siguiente valor corresponda a tu entra de an0.

Si te da muchos problemas porque no usas comunicacion por software es mas facil.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Programa Comunicacion de temperatura envio de datos HSEROUT S.O.S
« Respuesta #2 en: 14 de Octubre de 2006, 21:07:17 »
Hola...
algo como esto me funciona con visual basic

serout pinx, velocidad,[dato1,dato2,13,10]


salu2
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.