buenas chicos me uno a vosotros a ver si me podeis echar una mano
pues nada llevo un par de dias probando la comunicacion con el puerto serie para un proyecto que quiero hacer de enviar al pic 3 datos y que luego realice una acion dependiendo de lo que reciba
el caso es que en cuanto a enviar al pc no tengo probemas pero en recibir desde el pc al pic es donde me atranco
lo estoy haciendo en pic basic pro con el microcode studio y usando el terminal de este mismo programa para las pruebas
pues lo dicho no tengo probemas al enviar al pc pero al recibir en el pic tengo que mantener la tecla de intro un rato pulsada para que reciva algo el pic y cuando lo recibe no es lo que le mando el codigo que e echo para las pruebas creo que es sencillo pero ni aun asi consigo que me lea bien el pic
el codigo es el siguiente a ver si me podeis echar una mano por que ya no se que probar la verdad el pic lo conecto al pc con un max232 por el puerto serie decir tambien que el pic es el 16f877
a ver si me podeis echar una mano por que ya estoy desesperado
INCLUDES:
include "modedefs.bas" 'Se añade este archivo para poder usar el puerto serie
' DEFINICIONES
' definiciones del lcd
define lcd_dreg portd 'bits de datos del lcd en el puerto c
define lcd_dbit 0 'direcion de inicio del puerto c
define lcd_rsreg portd 'bit rs del lcd en el puerto c
define lcd_rsbit 5 'direcion del bit rs del lcd
define lcd_ereg portd 'bit e del lcd en el puerto c
define lcd_ebit 4 'direcion del bit e del lcd
define lcd_bits 4 'lcd el modo de 4 bits
define lcd_lines 2 'lcd tiene 2 lineas
define osc 20 'define el oscilador a 20 Mhz
'CONFIGURACION DE PUERTOS 0=salida 1=entrada:
trisd=%00000000 'se configura PORTD como salida
trisc=%00000000 'se configura el puerto c como salida
'SIMBOL:
symbol rs232_in = portc.7 'puerto de salida de datos
symbol rs232_out = portc.6 'puerto de entrada de datos
'VARIABLES:
dato var byte 'variable donde se guarda el dato recivido
'PROGRAMA:
lcdout $fe,1 'borramos la pantalla del lcd
PAUSE 1000 'se espera 1 segundo para que se inicie el LCD
inicio:
lcdout $fe,1
lcdout "esperando dato" 'se muestra en la pantalla el mensaje de esperando dato
serout rs232_out,T2400,["esperando dato"]
serin rs232_in,T2400,#dato 'se recibe el dato
lcdout $fe,$c0 'se coloca el cursor del lcd en la segunda linea
lcdout "dato=",#dato 'se muestra el dato recivido
pause 5000 'se espera 5 segundos
goto inicio 'se salta al inicio del programa para una lectura nueva
venga gracias