Autor Tema: Recibir y mostrar texto usando serin y lcdout  (Leído 3224 veces)

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

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Recibir y mostrar texto usando serin y lcdout
« en: 25 de Octubre de 2006, 10:06:08 »
Hola Amigos:

Estoy aqui de nuevo recurriendo a su ayuda, he buscando informacion en el foro de como enviar texto usando los comandos SEROUT y SERIN, para luego mostrarlos en un LCD, pero es poco lo que he encontrado.

Luego de mucho probar con lo que encontre ya he logrado hacer andar el transmisor sin problemas, en el receptor he logrado recibir el texto pero creo que el codigo no es del todo correcto.

Aqui esta el codigo del artilugio que he tenido que hacer en el receptor.

Código: [Seleccionar]
DATO var BYTE[16]

inicio:
    SERIN PORTA.1,T1200,["OK"],DATO[0],DATO[1],DATO[2],DATO[3],DATO[4],DATO[5],DATO[6],DATO[7],DATO[8],DATO[9],DATO[10],DATO[11],DATO[12],DATO[13],DATO[14],DATO[15]
    LCDOUT  $FE, 1
    LCDOUT  STR DATO

Al usar SERIN he tenido que poner uno por uno la ubicacion de cada caracter del texto dentro de la variable DATO, porque si solo pongo DATO me recibe unicamente el primer caracter.

Una critica a PBP es a su ayuda, no solo por este caso sino en varias oportunidades he recurrido a ella y me he decepcionado.

Gracias y saludos.
« Última modificación: 25 de Octubre de 2006, 10:09:24 por veguepic »
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Recibir y mostrar texto usando serin y lcdout
« Respuesta #1 en: 25 de Octubre de 2006, 13:24:54 »
HOLA VEGUEPIC

Asi es con el SERIN solo recibe un dato pero podrias probar con SERIN2 usando WAIT para que espere un caracter y str para esperar una cadena de caracteres.

Mira un ejemplo que acabo de hacer y si sirve es:

Código: [Seleccionar]
include "modedefs.bas"

text var byte[15]
i var byte                   

ini:
SerIn2 porta.1,84,[wait("Y"), STR text\15]

pause 1000

FOR I=0 TO 15

serout2 portb.3,84,["enviado: ", text[I],13]
PAuse 300
next i

PAUSE 1000
goto ini

Lo que hace espera la letra Y y depues una cadena de 15 caracteres o menos (por mi variable) y despues me manda dato por dato a una velocidad de 9600 sin invertir.


Mira te dejo una screen de como se ve:



 
"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 Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: Recibir y mostrar texto usando serin y lcdout
« Respuesta #2 en: 25 de Octubre de 2006, 14:30:54 »
Gracias MAX:

Veo que estaba en un callejon sin salida con SERIN, pues voy a seguir tu recomendacion con SERIN2.

Un saludo.
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo