TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: egds en 26 de Diciembre de 2003, 18:20:00

Título: mensaje "hola mundo" con serout2
Publicado por: egds en 26 de Diciembre de 2003, 18:20:00
Hola a todos,

Estoy intentando enviar un mensaje via serial a la consola del microestudio, el "hola mundo" y no hay manera, me salen caracteres raros indicando que la velocidad o algo <no va bien>.
Alguien me puede decir como hacerlo con protocolo 8N1 a 4800 baud.. Mi PIC es F16F876 y un osc de 20 Mhz.
He probado con todo y siempre me salen caracteres raros.
Yo he probado:
*********************
DEFINE OSC 20
INCLUDE "MODEDEFS.bas"

main:
serout2 PORTC.6,16572,["HOLAMUNDO"]
PAUSE 1000
GOTO MAIN
END
********************
eL RESULTADO negativo.
Por favor agredeceria que alguien me indicase si voy mal o bien, y si en BASIC STAMPII se escribe igual en el puerto serie.

Gracias y feliz navidad a todo el foro.
Título: RE: mensaje "hola mundo" con serout2
Publicado por: Abago en 27 de Diciembre de 2003, 06:24:00
HOla....
Has intentado ponerle un max232 a la salida del portc.6???

serout2 portc.6,188,["Hola Mundo"]

asi, seguro que te funciona...
yo estoy trabajando con en puerto serie... Y lo he conseguido de las dos formas... Pero decidi, utilizar el max232...

Si quieres evitar el max, dejame unos dias para que lo mire, y te cuento...
Título: RE: mensaje "hola mundo" con serout2
Publicado por: Abago en 27 de Diciembre de 2003, 06:47:00
si no quieres utilizar el max232...
utiliza este modo...

16572

ponle una resistencia de 22K entre la salida del pin del portc.6 y el conector del puerto serie... Y asi deberia funcionar...
Título: RE: mensaje "hola mundo" con serout2
Publicado por: egds en 27 de Diciembre de 2003, 09:25:00
Muchisimas gracias, ya ha funcionado.El problema estaba a la hora de configurar el mode de funcionamiento. Ahora a trabajar a fondo porque primero has de probar lo fácil.

Recibe un cordial saludo.
Título: RE: mensaje "hola mundo" con serout2
Publicado por: egds en 27 de Diciembre de 2003, 11:07:00
Sigo teniendo un pequeño problema. A ver, quiero mostrar la temperatura de una sonda por puerto serie, el programa es el siguiente "sin sonda claro esta".

INCLUDE "BS2DEFS.BAS"

DEFINE OSC 20

MAIN:
VOLTS VAR BYTE
VOLTS=25

serout2 portc.6,188,["VOLTS:",dec VOLTS]
PAUSE 2000
GOTO MAIN
********************************
El resultado en la consola del microcode studio es la siguiente a 8N1 y 4800baud.:
VOLTS:/I/,3
El mensaje de arriba es lo que muestra la consola.
Es decir el valor de la VOLTS  que es = 25 no sale bien reflejada /I/,3.
¿Estoy haciendo algo mal?
Espero vuestras sabias respuestas.

Un saludo, de nuevo.

Título: RE: mensaje "hola mundo" con serout2
Publicado por: Abago en 27 de Diciembre de 2003, 14:27:00
hechale un vistazo al foro...
Creo recordar, que habia por aqui un proyecto, que trataba el tema del sensor de temperatura...

lo puedes hacer con un lm35
convierte la temperatura en volts...
luego, creo que solo tienes que leer los volts con el pin de entrada analogica... Y yas ta...

de todos modos, reitero en que mires por el foro, porque recuerdo que habia un proyecto, para controlar la temperatura de una caldera.... o algo similar....

Que tengas suerte...
Estamos en contacto.
Título: RE: mensaje "hola mundo" con serout2
Publicado por: Abago en 28 de Diciembre de 2003, 08:20:00
Escrito originalmente por egds


INCLUDE "BS2DEFS.BAS

DEFINE OSC 20

MAIN:
VOLTS VAR BYTE
VOLTS=25

serout2 portc.6,188,["VOLTS:",dec VOLTS]
PAUSE 2000
GOTO MAIN
********************************
El resultado en la consola del microcode studio es la siguiente a 8N1 y 4800baud.:
VOLTS:/I/,3




prueba con esto

serout2 portc.6,188,["VOLTS: ", dec(VOLTS)]