Autor Tema: Problema con el usart.  (Leído 7838 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Problema con el usart.
« Respuesta #30 en: 10 de Octubre de 2009, 16:23:53 »
Eureka  :-/ :-/ :-/ :-/ Funciona.
Ya logré hacerlo andar y gracias a la ayuda de groundman  Sander y alogic.on

A continuación subo el programa por si otros tienen problemas:

Tx

Código: ASM
  1. BCF                     STATUS,RP0
  2.                         BCF                     STATUS,RP1              ;BANCO 0
  3.                         CLRF            PORTA
  4.                         CLRF            PORTB
  5.                         CLRF            PORTC
  6.                         CLRF            PORTD
  7.                         CLRF            PORTE
  8.                         BSF                     STATUS,RP0              ;BANCO 1
  9.                         CLRF            TRISA
  10.                         MOVLW           H'FF'
  11.                         MOVWF           TRISB
  12.                         CLRF            TRISC
  13.                         CLRF            TRISD
  14.                         CLRF            TRISE
  15.                         MOVLW           0x06
  16.                         MOVWF           ADCON1
  17.                         BSF                     TRISC,7
  18. ;
  19. ;INICIALIZACIÓN DEL MÓDULO USART
  20. ;
  21.                         BSF                     TXSTA,BRGH
  22.                         MOVLW           .25
  23.                         MOVWF           SPBRG
  24.                         BCF                     TXSTA,SYNC
  25.                         BCF                     STATUS,RP0              ;BANCO 0
  26.                         BSF                     RCSTA,SPEN
  27. ;
  28. ;ACTIVACIÓN DEL MÓDULO USART
  29. ;
  30. TRANSMITIR      BSF                     STATUS,RP0              ;BANCO 1
  31.                         BSF                     TXSTA,TXEN
  32. ;
  33. ;ENVÍO DE DATOS AL USART
  34. ;
  35.                         BCF                     STATUS,RP0              ;BANCO 0
  36. REPETIR         MOVFW           PORTB
  37.                         MOVWF           TXREG
  38.                         BSF                     STATUS,RP0              ;BANCO 1
  39. ESPERAR         BTFSS           TXSTA,TRMT              ;¿SE VACIÓ EL REGISTRO TSR?
  40.                         GOTO            ESPERAR                 ;NO, ESPERAMOS PARA ELLO
  41.                         BCF                     TXSTA,TXEN              ;DESHABILITO LA TRANSMISIÓN
  42.                         BCF                     STATUS,RP0              ;BANCO 0
  43.                         GOTO            TRANSMITIR

Rx

Código: ASM
  1. BCF                     STATUS,RP0
  2.                         BCF                     STATUS,RP1              ;BANCO 0
  3.                         CLRF            PORTA
  4.                         CLRF            PORTB
  5.                         CLRF            PORTC
  6.                         CLRF            PORTD
  7.                         CLRF            PORTE
  8.                         BSF                     STATUS,RP0              ;BANCO 1
  9.                         CLRF            TRISA
  10.                         CLRF            TRISB
  11.                         CLRF            TRISC
  12.                         CLRF            TRISD
  13.                         CLRF            TRISE
  14.                         MOVLW           0x06
  15.                         MOVWF           ADCON1
  16.                         BSF                     TRISC,6
  17.                         BSF                     TRISC,7
  18. ;
  19. ;INICIALIZACIÓN DEL MÓDULO USART
  20. ;
  21.                         BSF                     TXSTA,BRGH
  22.                         MOVLW           .25
  23.                         MOVWF           SPBRG
  24.                         BCF                     TXSTA,SYNC              ;ASINCRONO
  25.                         BCF                     STATUS,RP0              ;BANCO 0
  26.                         BSF                     RCSTA,SPEN
  27. ;
  28. ;ACTIVACIÓN DEL MÓDULO USART
  29. ;
  30.                         BSF                     RCSTA,CREN
  31. ;
  32. ;RECEPCIÓN DE DATOS DEL USART
  33. ;
  34. NO_RECIBIDO     BTFSS           PIR1,RCIF
  35.                         GOTO            NO_RECIBIDO
  36.                         MOVFW           RCREG
  37.                         MOVWF           PORTA
  38.                         BCF                     RCSTA,OERR
  39.                         BCF                     RCSTA,CREN              ;DESHABILITO LA RECEPCIÓN
  40.                         NOP                                                     ;PARA ESTABILIZAR.
  41.                         BSF                     RCSTA,CREN              ;HABILITO LA RECEPCIÓN
  42.                         GOTO            NO_RECIBIDO
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema con el usart.
« Respuesta #31 en: 10 de Octubre de 2009, 16:45:08 »
en horabuena Leon Pic..este usart te ha sacado canas :D
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Problema con el usart.
« Respuesta #32 en: 10 de Octubre de 2009, 18:02:14 »
felizidades.biene muy bien que lo hayas hecho funcionar.ya que a mi me hacia falta comunicar dos pic.y parece que mucha gente en el foro ha tenido problemas con comunicar las usart de dos pic.

cual es es secreto del exito?
habia algo que realizar a parte de poner a cero el bit SYNC del registro TXSTA?
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Problema con el usart.
« Respuesta #33 en: 10 de Octubre de 2009, 20:13:37 »
Con tanta emoción me olvidé de comentar el porqué del éxito.
Al parecer el concejo de sander fue el punto del éxito. No se si fue parte, pero sin duda fue de gran ayuda, ya que agregué una línea más en el receptor que borre siempre el bit OERR que se pone a uno si hay un error en la recepción. Al momento no le doy importancia si hay o no error ya que la comunicación es unidireccional y no puedo pedirle al Tx que vuelva a transmitir el dato.

Recuerden que el programa que subí, es para comunicación unidireccional.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado alogic.on

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 772
Re: Problema con el usart.
« Respuesta #34 en: 11 de Octubre de 2009, 04:21:10 »
ole¡¡ me alegro Leon, por fin te has quitado esa espina :-/ :-/

un saludo

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Problema con el usart.
« Respuesta #35 en: 11 de Octubre de 2009, 10:02:44 »
Muchas gracias Alogic.on
Ya soñaba con la USART :( :(
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Problema con el usart.
« Respuesta #36 en: 14 de Octubre de 2009, 16:08:47 »
yo para los errores de la usart utilizo el siguiente programa:
supongo que por esto nunca he tenido estos problemas.

;<<<<<<<<<<<<<<<<<<<<------SUBPROGRAMA PARA ESPERA DE CARACTER Y CORRECTOR DE ERRORES----->>>>>>>>>>>>>
ERR_USART      btfss   PIR1,RCIF      ;espera al proximo caracter
            goto    ERR_USART 
            btfsc   RCSTA,OERR   
            call   BORR_ERR      ;Error de Sobreescritura
            btfsc   RCSTA,FERR   
            call   BORR_ERR      ;Error de Trama
            bcf     PIR1,RCIF      ;borra el flag de interrupcion por caracter recivido            
            return
            
BORR_ERR      bcf      RCSTA,CREN      ;deshabilita recepcion usart
            movf   RCREG,w         
            movf   RCREG,w   
            movf   RCREG,w            
            bsf      RCSTA,CREN      ;habilita recepcion usart
            return         
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Problema con el usart.
« Respuesta #37 en: 14 de Octubre de 2009, 17:34:41 »
Una consulta groundman. ¿por qué insistí en leer el registro RCREG cuando hay un error?
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Problema con el usart.
« Respuesta #38 en: 14 de Octubre de 2009, 17:36:42 »
Creo que la idea es una vez desactivado la recepción limpiar el buffer  :?
No contesto mensajes privados, las consultas en el foro

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Problema con el usart.
« Respuesta #39 en: 15 de Octubre de 2009, 17:16:27 »
creo que suky ha dado la respuesta.este codigo no es mio.pero crei entender cuando lo encontre que era para limpiar el buffer.
y desde que lo uso me ha ido muy bien.aunque nunca lo he utilizado para transmisiones de pic a pic.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Problema con el usart.
« Respuesta #40 en: 15 de Octubre de 2009, 19:57:58 »
Muchas gracias a ambos.
Lamentablemente, por falta de tiempo abandoné, por unos días, el proyecto. Mañana espero retomar.
Estoy creando unas rutinas para subir al hilo, rutinas para compartir, pero antes tengo que probarlas.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.