Autor Tema: probemas con el pic 16f877 y el rs232  (Leído 3227 veces)

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

Desconectado chikitin

  • PIC10
  • *
  • Mensajes: 4
probemas con el pic 16f877 y el rs232
« en: 25 de Agosto de 2008, 12:52:27 »
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 

Código: [Seleccionar]


  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
« Última modificación: 25 de Agosto de 2008, 13:00:41 por chikitin »

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: probemas con el pic 16f877 y el rs232
« Respuesta #1 en: 25 de Agosto de 2008, 13:05:16 »
Saludos!
Viejo este tema ya se ha tocado en otros hilos, te aconsejo que uses el buscador del foro. Seguro encontrarás lo que necesitas.
El problema podría estar en el software o en el hardware, por cierto que no veo en tu código la instrucción para recibir caracteres, bueno supongo que la omitiste. Y hay que ser muy cuidadoso con las conexiones al max232 y demás en el hardware.
Pero como te digo, todo eso lo conseguirás buscando en el foro.
Te deseo éxito! Nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: probemas con el pic 16f877 y el rs232
« Respuesta #2 en: 25 de Agosto de 2008, 15:40:37 »
A esta linea  serin rs232_in,T2400,#dato   quitale el numeral. Solo pon dato que es donde se guarda.

Y verifica que los modos (T2400) sean correctos en la PC
"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 RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2062
Re: probemas con el pic 16f877 y el rs232
« Respuesta #3 en: 25 de Agosto de 2008, 22:27:57 »
Que tal amigos!
Chikitin tal como te dice el amigo navaismo elimina ese numeral ya que la pc te envia por el puerto serial caracteres ascii, tambien elimina el numeral de

 lcdout "dato=",#dato

POrque el lcdout al recibir el caracter en ascii no hace falta utilizar el numeral

Saludos


 

anything