TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Veguepic en 25 de Octubre de 2006, 10:06:08

Título: Recibir y mostrar texto usando serin y lcdout
Publicado por: Veguepic 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.
Título: Re: Recibir y mostrar texto usando serin y lcdout
Publicado por: navaismo 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:

(http://img238.imageshack.us/img238/7346/srnw0.jpg)

 
Título: Re: Recibir y mostrar texto usando serin y lcdout
Publicado por: Veguepic 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.