TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: lecsdexter en 16 de Diciembre de 2012, 18:47:11

Título: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 18:47:11
Basándome del trabajo de Picuino, uso un módulo Bluetooth (BT) en vez de la interfaz MAX232, para que la programación del pic sea totalmente inalámbrica. Sin embargo, al utilizar el Tiny Bootloader, me aparece una primera notificación de que se ha conectado con el puerto del BT, pero luego, me aparece algo así como: "Buscando pic" y luego aparece "Error". Quisiera saber cómo se debería de hacer esto paso a paso.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Suky en 16 de Diciembre de 2012, 18:53:29
Has probado la comunicación, por medio de Bluetooth, entre el PIC y la PC antes? Asegúrate que no tienes problemas de comunicación y no deberías de tener problema.


Saludos!
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 19:34:17
Sí, ya lo he probado antes con una aplicación sencilla y me ha funcionado.

El esquemático que uso es:
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 19:44:34
Mi protoboard armado es:
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 19:46:27
otra imagen
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 19:49:04
una última imagen del proto:
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 19:52:41
Lo que sí estoy tomando en cuenta, es que en el Rx del BT va el Tx del micro, y en el Tx del BT el Rx del micro. El .hex lo cargué con el master prog, pero no quiere conectarse al Tiny Bootloader.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 16 de Diciembre de 2012, 19:54:34
El TinyPic Bootloader necesita una señal de reset antes de iniciar la comunicación con el PIC.

Si no conectas el reset al Bluetooth, puedes pulsar tú mismo a mano el pulsador de reset antes de la comunicación.
En este caso hay que tener cuidado de hacerlo rápidamente. Puedes aumentar los tiempos de espera del bootloader en el micro y en la aplicación del PC para que no sea tan crítico.
Normalmente cuando das al botón de enviar programa tienes un par de segundos para pulsar reset.


¿Has probado primero con el max232 y funciona?

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 16 de Diciembre de 2012, 20:02:17

Programa TinyBLD:
Pestaña Options... SearchDelay [ 15 ]

Así esperará 15 segundos a la respuesta del PIC. Durante ese tiempo debes pulsar reset para iniciar la comunicación.

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 20:08:57
Ok, checaré esto y te daré los resultados.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 16 de Diciembre de 2012, 20:09:37
¿Qué mensaje de error aparece cuando pulsas CheckPIC?

Uno como este:
Código: [Seleccionar]
Connected to \\.\COM1 at 115200
  Searching for PIC ...
  pic sending unknown data: More than 2 id bytes receivedSystem OK
Check baudrate & Start Write while PIC is not sending serial data (e.g. in reset)
  ERROR!

O este otro:
Código: [Seleccionar]
Connected to \\.\COM1 at 115200
  Searching for PIC ...Not found,
  ERROR!
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 20:19:03
Me aparece esto:

Código: [Seleccionar]
       


Connected to \\.\COM4 at 9600
  Searching for PIC ...Not found,
  ERROR!


ya le di los 15 segundos, pero sólo tarda 15 poco más en estar conectado, luego se desconecta y aparece "ERROR".

Aún no lo he probado con el max232
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 16 de Diciembre de 2012, 20:22:09
He usado tu archivo llamado "PIC18F2550_i8Mhz_9600baud.hex"
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 17 de Diciembre de 2012, 15:49:51
Me he dado cuenta de que ese archivo tiene una errata en los fuses.
Yo no lo había detectado porque he usado un programador que permite fijar los fuses a mano, de forma que sobreescribía el fuse incorrecto antes de programar el micro.
Adjunto la versión corregida aquí antes de subirla a la web.


Muchas gracias por la labor de betatester y disculpa las molestias.

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 16:45:35
Estaré esperando tu archivo actualizado por mientras, ya que no lo veo adjunto en tu mensaje. No son molestias, sino que esto sirve para mejorar las cosas. Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 17:11:55
Por cierto, no entiendo muy bien dónde va el pulsador reset para el bluetooth. En el diagrama del max232, veo que lo conectas al R2out-R2in y luego van a las patas 7 y 8 del Rs232 (RTS y CTS). Pero el módulo BT solo tiene Alimentación, Rx y Tx.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 17 de Diciembre de 2012, 17:36:01
Ya he añadido el archivo adjunto.
He estado mirando la foto de tu módulo USB y no parece que tenga líneas libres. El reset se debe unir a la señal RTS:

(http://www.etc.ugal.ro/cchiculita/software/resetpic.gif)
Fuente: http://www.etc.ugal.ro/cchiculita/software/tinybldusage.htm

Con el módulo bluethoot que tú tienes no parece posible activar el reset de forma automática. Es una pena porque con el reset automático es mucho más rápido y sencillo de manejar el bootloader.


Por cierto, la idea de unir el pic al PC por Bluetooth es estupenda. No se me había ocurrido y ahora que lo veo, es sencillo y muy eficaz. Enhorabuena por la idea.

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 17:59:21
Bueno, sé que sí se puede lograr, quizás tarde pero lo importante es lograrlo. Seguiré intentando.
La idea no sólo es mía, es decir, ya lo habían implementado otras personas cuando estuve buscando información:
list=FLOAqFjuHVMOasqPiN-6MYqg&index=11
list=FLOAqFjuHVMOasqPiN-6MYqg&index=7

Saludos!
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: MGLSOFT en 17 de Diciembre de 2012, 18:11:56
Yo quiero hacer algo así también...
Que modulo bluethooth recomiendan para usar y que pueda hacer el reset ??
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 18:19:58
No sé mucho de módulos, pero sé que básicamente traen los pines de Vcc, GND, Rx Tx, key (para programar) etc.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 18:25:56
Sólo le veo una solución a esto del Reset: por medio de otro software.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 17 de Diciembre de 2012, 19:16:13
¿Funcionó el Bootloader?
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 19:52:49
Ya usé el nuevo código, me sigue marcando:

Código: [Seleccionar]
Connected to \\.\COM4 at 9600
  Searching for PIC ...Not found,
  ERROR!

Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 19:57:50
Yo programo con el master prog,
y veol la siguiente configuración:

es correcto?


Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 17 de Diciembre de 2012, 19:58:15
Acabo de probarlo y a mí me funciona.

Prueba a cargar este programa en el PIC a ver si hay comunicación con el PC:

https://sites.google.com/site/picuino/picuino-18f2550/bootloader/USART_echo.zip?attredirects=0

Es simplemente un programa que devuelve por el RS232 todo lo que recibe (función eco)

Todo lo que envíes por el puerto COM tienes que recibirlo por duplicado.

Con el PIC apagado, todo lo que envíes no se recibirá.


Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 17 de Diciembre de 2012, 20:01:03
Te recomiendo para programar el PIC el WinPICPgm.exe :

http://members.aon.at/electronics/pic/picpgm/

Download: http://picpgm.picprojects.net/download/winpicpgm_v1650.zip

¿Qué programador tienes?
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 20:25:21
Tanto el programa como el hardware programador que uso, se llaman MasterProg. Con el WinPICPgm.exe  no me reconoce el programador, con el software MasterProg me dice:

Código: [Seleccionar]
Aviso: Faltan los Bits de Configuración en el archivo HEX! Consultar el Instructivo para Solucionar este
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 17 de Diciembre de 2012, 20:27:53
Podría ponerlo por favor?
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 18 de Diciembre de 2012, 18:15:15
Me extraña que aparezca ese mensaje porque el archivo *.HEX tiene ya incluídos los bits de configuración (Los fuses).

A lo mejor es porque tu programador necesita otro formato de binario.

Te adjunto los archivos compilados con los formatos INHX8M, INHX8S y INHX32

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 18 de Diciembre de 2012, 18:53:02
El código del archivo del echo es :

Código: [Seleccionar]
;********************************************************************
;   USART ECHO
;   PROGRAM FOR TESTING USART COMMUNICATIONS AT ANY BAUDRATE
;   RETURN BY TX EVERY SIGNAL RECEIVED IN RX PORT
;
;   INTERNAL CLOCK
;   MAX BAUDRATE = CLOCK FREQ / 32 = 8MHZ / 32 = 250Kbaud
;
;********************************************************************

    radix   DEC
    LIST    P=18F2550         ; change also: Configure->SelectDevice from Mplab
#INCLUDE    "P18F2550.INC"


;************************************************************
;                 LABELS AND MACROS
;************************************************************
    CBLOCK  0x00
    COUNT1
    COUNT2
    COUNT3
    ENDC

TRIS_RX   EQU  TRISC
PORT_RX   EQU  PORTC

TRIS_TX   EQU  TRISC
PORT_TX   EQU  PORTC


;************************************************************
;                 BOOTLOADER COMPATIBILITY
;************************************************************
    ORG     0x0000
    GOTO    MAIN


;***********************************************************
; MAIN FUNCTION: ECHO ANY SIGNAL RECEIVED
;***********************************************************
    ORG     0x0020
MAIN
    MOVLW   B'01111010'          ; Internal oscillator @ 8Mhz clock source
    MOVWF   OSCCON
    BSF     TRIS_RX, RX          ; RX = INPUT
    BCF     TRIS_TX, TX          ; TX = OUTPUT


ECHO_LOOP1
    BTFSS   PORT_RX, RX          ; IF (RX == 0)
    BCF     PORT_TX, TX          ;    TX = 0
    BTFSC   PORT_RX, RX          ; IF (RX == 1)
    BSF     PORT_TX, TX          ;    TX = 1
    BRA     ECHO_LOOP1


;***********************************************************
    END


pero no veo los fuses; ¿o  quizás los fuses los pones en el progamador de pc?
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 18 de Diciembre de 2012, 19:45:07
Es verdad  :oops:
Creía que te referías al bootloader.

Los fuses en ese programa pueden ser los mismos que para el bootloader con oscilador interno:

Código: [Seleccionar]
;********************************************************************************************
; FUSE OPTIONS (SOURCE: P18F2550.INC)
;
; PLL Prescaler Selection bits:
;    CONFIG   PLLDIV = 1          ;No prescale (4 MHz oscillator input drives PLL directly)
;    CONFIG   PLLDIV = 2          ;Divide by 2 (8 MHz oscillator input)
;    CONFIG   PLLDIV = 3          ;Divide by 3 (12 MHz oscillator input)
;    CONFIG   PLLDIV = 4          ;Divide by 4 (16 MHz oscillator input)
    CONFIG   PLLDIV = 5          ;Divide by 5 (20 MHz oscillator input)
;    CONFIG   PLLDIV = 6          ;Divide by 6 (24 MHz oscillator input)
;    CONFIG   PLLDIV = 10         ;Divide by 10 (40 MHz oscillator input)
;    CONFIG   PLLDIV = 12         ;Divide by 12 (48 MHz oscillator input)
;
; CPU System Clock Postscaler:
    CONFIG   CPUDIV = OSC1_PLL2  ;[OSC1/OSC2 Src: /1][96 MHz PLL Src: /2]
;    CONFIG   CPUDIV = OSC2_PLL3  ;[OSC1/OSC2 Src: /2][96 MHz PLL Src: /3]
;    CONFIG   CPUDIV = OSC3_PLL4  ;[OSC1/OSC2 Src: /3][96 MHz PLL Src: /4]
;    CONFIG   CPUDIV = OSC4_PLL6  ;[OSC1/OSC2 Src: /4][96 MHz PLL Src: /6]
;
; USB Clock Selection bit (used in Full Speed USB mode only; UCFG:FSEN = 1):
;    CONFIG   USBDIV = 1          ;USB clock source comes directly from the primary oscillator block with no postscale
    CONFIG   USBDIV = 2          ;USB clock source comes from the 96 MHz PLL divided by 2
;
; Oscillator Selection bits:
;    CONFIG   FOSC = XT_XT        ;XT oscillator, XT used by USB
;    CONFIG   FOSC = XTPLL_XT     ;XT oscillator, PLL enabled, XT used by USB
;    CONFIG   FOSC = ECIO_EC      ;External clock, port function on RA6, EC used by USB
;    CONFIG   FOSC = EC_EC        ;External clock, CLKOUT on RA6, EC used by USB
;    CONFIG   FOSC = ECPLLIO_EC   ;External clock, PLL enabled, port function on RA6, EC used by USB
;    CONFIG   FOSC = ECPLL_EC     ;External clock, PLL enabled, CLKOUT on RA6, EC used by USB
    CONFIG   FOSC = INTOSCIO_EC  ;Internal oscillator, port function on RA6, EC used by USB
;    CONFIG   FOSC = INTOSC_EC    ;Internal oscillator, CLKOUT on RA6, EC used by USB
;    CONFIG   FOSC = INTOSC_XT    ;Internal oscillator, XT used by USB
;    CONFIG   FOSC = INTOSC_HS    ;Internal oscillator, HS used by USB
;    CONFIG   FOSC = HS           ;HS oscillator, HS used by USB
;    CONFIG   FOSC = HSPLL_HS     ;HS oscillator, PLL enabled, HS used by USB
;
; Fail-Safe Clock Monitor Enable bit:
    CONFIG   FCMEN = OFF         ;Fail-Safe Clock Monitor disabled
;    CONFIG   FCMEN = ON          ;Fail-Safe Clock Monitor enabled
;
; Internal/External Oscillator Switchover bit:
    CONFIG   IESO = OFF          ;Oscillator Switchover mode disabled
;    CONFIG   IESO = ON           ;Oscillator Switchover mode enabled
;
; Power-up Timer Enable bit:
    CONFIG   PWRT = ON           ;PWRT enabled
;    CONFIG   PWRT = OFF          ;PWRT disabled
;
; Brown-out Reset Enable bits:
    CONFIG   BOR = OFF           ;Brown-out Reset disabled in hardware and software
;    CONFIG   BOR = SOFT          ;Brown-out Reset enabled and controlled by software (SBOREN is enabled)
;    CONFIG   BOR = ON_ACTIVE     ;Brown-out Reset enabled in hardware only and disabled in Sleep mode (SBOREN is disabled)
;    CONFIG   BOR = ON            ;Brown-out Reset enabled in hardware only (SBOREN is disabled)
;
; Brown-Out Voltage bits:
;    CONFIG   BORV = 0            ; 4.59 v
;    CONFIG   BORV = 1            ; 4.33 v
    CONFIG   BORV = 2            ; 2.79 v
;    CONFIG   BORV = 3            ; 2.05 v
;
; USB Voltage Regulator Enable bit:
;    CONFIG   VREGEN = OFF        ;USB voltage regulator disabled
    CONFIG   VREGEN = ON         ;USB voltage regulator enabled
;
; Watchdog Timer Enable bit:
    CONFIG   WDT = OFF           ;HW Disabled - SW Controlled
;    CONFIG   WDT = ON            ;HW Enabled - SW Disabled
;
; Watchdog Timer Postscale Select bits:
;    CONFIG   WDTPS = 1           ;1:1
;    CONFIG   WDTPS = 2           ;1:2
;    CONFIG   WDTPS = 4           ;1:4
;    CONFIG   WDTPS = 8           ;1:8
;    CONFIG   WDTPS = 16          ;1:16
;    CONFIG   WDTPS = 32          ;1:32
;    CONFIG   WDTPS = 64          ;1:64
;    CONFIG   WDTPS = 128         ;1:128
;    CONFIG   WDTPS = 256         ;1:256
;    CONFIG   WDTPS = 512         ;1:512
;    CONFIG   WDTPS = 1024        ;1:1024
;    CONFIG   WDTPS = 2048        ;1:2048
;    CONFIG   WDTPS = 4096        ;1:4096
;    CONFIG   WDTPS = 8192        ;1:8192
;    CONFIG   WDTPS = 16384       ;1:16384
    CONFIG   WDTPS = 32768       ;1:32768
;
; MCLR Pin Enable bit:
;    CONFIG   MCLRE = OFF         ;RE3 input pin enabled; MCLR disabled
    CONFIG   MCLRE = ON          ;MCLR pin enabled; RE3 input pin disabled
;
; Low-Power Timer 1 Oscillator Enable bit:
;    CONFIG   LPT1OSC = OFF       ;Timer1 configured for higher power operation
    CONFIG   LPT1OSC = ON        ;Timer1 configured for low-power operation
;
; PORTB A/D Enable bit:
    CONFIG   PBADEN = OFF        ;PORTB<4:0> pins are configured as digital I/O on Reset
;    CONFIG   PBADEN = ON         ;PORTB<4:0> pins are configured as analog input channels on Reset
;
; CCP2 MUX bit:
;    CONFIG   CCP2MX = OFF        ;CCP2 input/output is multiplexed with RB3
    CONFIG   CCP2MX = ON         ;CCP2 input/output is multiplexed with RC1
;
; Stack Full/Underflow Reset Enable bit:
    CONFIG   STVREN = OFF        ;Stack full/underflow will not cause Reset
;    CONFIG   STVREN = ON         ;Stack full/underflow will cause Reset
;
; Single-Supply ICSP Enable bit:
    CONFIG   LVP = OFF           ;Single-Supply ICSP disabled
;    CONFIG   LVP = ON            ;Single-Supply ICSP enabled
;
; Extended Instruction Set Enable bit:
    CONFIG   XINST = OFF         ;Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
;    CONFIG   XINST = ON          ;Instruction set extension and Indexed Addressing mode enabled
;
; Background Debugger Enable bit:
;    CONFIG   DEBUG = ON          ;Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug
    CONFIG   DEBUG = OFF         ;Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
;
; Code Protection bit Block 0:
;    CONFIG   CP0 = ON            ;Block 0 (000800-001FFFh) code-protected
    CONFIG   CP0 = OFF           ;Block 0 (000800-001FFFh) not code-protected
;
; Code Protection bit Block 1:
;    CONFIG   CP1 = ON            ;Block 1 (002000-003FFFh) code-protected
    CONFIG   CP1 = OFF           ;Block 1 (002000-003FFFh) not code-protected
;
; Code Protection bit Block 2:
;    CONFIG   CP2 = ON            ;Block 2 (004000-005FFFh) code-protected
    CONFIG   CP2 = OFF           ;Block 2 (004000-005FFFh) not code-protected
;
; Code Protection bit Block 3:
;    CONFIG   CP3 = ON            ;Block 3 (006000-007FFFh) code-protected
    CONFIG   CP3 = OFF           ;Block 3 (006000-007FFFh) not code-protected
;
; Boot Block Code Protection bit:
;    CONFIG   CPB = ON            ;Boot block (000000-0007FFh) code-protected
    CONFIG   CPB = OFF           ;Boot block (000000-0007FFh) not code-protected
;
; Data EEPROM Code Protection bit:
;    CONFIG   CPD = ON            ;Data EEPROM code-protected
    CONFIG   CPD = OFF           ;Data EEPROM not code-protected
;
; Write Protection bit Block 0:
;    CONFIG   WRT0 = ON           ;Block 0 (000800-001FFFh) write-protected
    CONFIG   WRT0 = OFF          ;Block 0 (000800-001FFFh) not write-protected
;
; Write Protection bit Block 1:
;    CONFIG   WRT1 = ON           ;Block 1 (002000-003FFFh) write-protected
;    CONFIG   WRT1 = OFF          ;Block 1 (002000-003FFFh) not write-protected
;
; Write Protection bit Block 2:
;    CONFIG   WRT2 = ON           ;Block 2 (004000-005FFFh) write-protected
    CONFIG   WRT2 = OFF          ;Block 2 (004000-005FFFh) not write-protected
;
; Write Protection bit Block 3:
;    CONFIG   WRT3 = ON           ;Block 3 (006000-007FFFh) write-protected
    CONFIG   WRT3 = OFF          ;Block 3 (006000-007FFFh) not write-protected
;
; Boot Block Write Protection bit:
;    CONFIG   WRTB = ON           ;Boot block (000000-0007FFh) write-protected
    CONFIG   WRTB = OFF          ;Boot block (000000-0007FFh) not write-protected
;
; Configuration Register;Write Protection bit:
;    CONFIG   WRTC = ON           ;Configuration registers (300000-3000FFh) write-protected
    CONFIG   WRTC = OFF          ;Configuration registers (300000-3000FFh) not write-protected
;
; Data EEPROM Write Protection bit:
;    CONFIG   WRTD = ON           ;Data EEPROM write-protected
    CONFIG   WRTD = OFF          ;Data EEPROM not write-protected
;
; Table Read Protection bit Block 0:
;    CONFIG   EBTR0 = ON          ;Block 0 (000800-001FFFh) protected from table reads executed in other blocks
    CONFIG   EBTR0 = OFF         ;Block 0 (000800-001FFFh) not protected from table reads executed in other blocks
;
; Table Read Protection bit Block 1:
;    CONFIG   EBTR1 = ON          ;Block 1 (002000-003FFFh) protected from table reads executed in other blocks
    CONFIG   EBTR1 = OFF         ;Block 1 (002000-003FFFh) not protected from table reads executed in other blocks
;
; Table Read Protection bit Block 2:
;    CONFIG   EBTR2 = ON          ;Block 2 (004000-005FFFh) protected from table reads executed in other blocks
    CONFIG   EBTR2 = OFF         ;Block 2 (004000-005FFFh) not protected from table reads executed in other blocks
;
; Table Read Protection bit Block 3:
;    CONFIG   EBTR3 = ON          ;Block 3 (006000-007FFFh) protected from table reads executed in other blocks
    CONFIG   EBTR3 = OFF         ;Block 3 (006000-007FFFh) not protected from table reads executed in other blocks
;
; Boot Block Table Read Protection:
;    CONFIG   EBTRB = ON          ;Boot block (000000-0007FFh) protected from table reads executed in other blocks
    CONFIG   EBTRB = OFF         ;Boot block (000000-0007FFh) not protected from table reads executed in other blocks
;
;********************************************************************************************


Saludos.

Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 18 de Diciembre de 2012, 19:49:26
Adjunto programa con fuses.


Saludos
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 18 de Diciembre de 2012, 20:19:34
Al parecer tengo un problema de recepción de datos. Estoy checando porqué. Me di cuenta de que le tengo qué poner un reloj de 20MHz, ya se lo puse.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 19 de Diciembre de 2012, 13:14:44
El reloj de 20Mhz no es necesario mientras el PIC funcione con el oscilador interno.

El programita es muy sencillo, simplemente une los terminales RX y TX. La señal que recibe en RX la copia en TX.

Es equivalente a:

Código: [Seleccionar]

   #define PORT_RX   PORTCbits.RC7
   #define PORT_TX   PORTCbits.RC6

   TRISCbits.TRISC7 = 1;
   TRISCbits.TRISC6 = 0;

   while(1)  
      PORT_TX = PORT_RX;

     
También debería funcionar si unes físicamente los terminales RX y TX del módulo Bluetooth.

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 19 de Diciembre de 2012, 19:37:07
Entiendo.
He checado la continuidad en los pines del BT y he descubierto que el GND y el TX tienen continuidad   :oops:  :cry: Conseguiré lo más pronto otro módulo para seguir haciendo las pruebas.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 19 de Diciembre de 2012, 19:56:47
Sin embargo, he descubierto el pin de RESET en el módulo:

Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 20 de Diciembre de 2012, 20:39:01
Bueno, espero no me vuelva a suceder eso...
Picuino, ya probé con el módulo BT el programa "echo", sí funciona. Ahora probaré el Bootloader.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 20 de Diciembre de 2012, 21:39:46
Ya funciona!!!!
Lo que siempre me estaba fallando era que el Tx del módulo BT ya no funcionaba (nunca enviaba nada al micro).
Aquí pongo unas imágenes que quiero compartir:

Gracias Picuino!!!

Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 20 de Diciembre de 2012, 21:41:58
De todos modos, confirma el correcto funcionamiento por favor:

-->Cargando el programa de Test (la primera vez no presioné el botón Reset del micro; tampoco fue necesario resetear el módulo Bluetooth).

Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 20 de Diciembre de 2012, 21:47:59
Parte del test que hace la comunicación serial enviando 1's y 0's.
Lo revisé en dos programas: el mismo "TinyBootloader" y en el "USART de MikroC".
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 20 de Diciembre de 2012, 21:51:36
Protoboard armado.
*Le puse un regulador de 5V, ya que la batería me daba 6V y prefiero irme a lo seguro.
*En la imagen, se observa el Tx del BT y el Tx del micro. El Tx del BT va al Rx del micro, y el Tx del micro, va al Rx del BT.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 20 de Diciembre de 2012, 21:52:33
Parte del test donde enciende (parpadean) los leds del puerto B (sólo puse 2 leds  :oops: ).

Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 21 de Diciembre de 2012, 13:06:03
Enhorabuena.
Yo ya he pedido un módulo bluetooth por e-bay para hacer el mismo montaje.

A propósito ¿Qué módulo utilizar para conectar al PC?

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 21 de Diciembre de 2012, 13:09:32
Protoboard armado.
*Le puse un regulador de 5V, ya que la batería me daba 6V y prefiero irme a lo seguro.
*En la imagen, se observa el Tx del BT y el Tx del micro. El Tx del BT va al Rx del micro, y el Tx del micro, va al Rx del BT.

Si pones un regulador LM7805 te dará problemas porque necesita mucha caída de tensión entre la entrada y la salida.
Para evitar problemas con baterías yo utilizo un regulador LDO:  LM2940-5.0

Cuesta un poco más, pero aprovecha la tensión de las baterías al máximo.
Si las baterías bajan a 5v, con un 7805 vas a conseguir menos de 4 voltios en el micro. Con el LM2940 puedes conseguir 4.8v en el micro.

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 21 de Diciembre de 2012, 13:36:26
Ah, muchas gracias por esa información!!! (Y sí, utilizaba el 7805)

Para "el módulo BT que le conecto a la computadora", uso el que tiene internamente la laptop. Aunque te comento que cuando trabajé con el módulo BT para comunicación serial con un micro Cypress, mi laptop antigua no tenía BT interno, y usé uno idéntico a este:

http://articulo.mercadolibre.com.mx/MLM-411310899-bluetooth-para-laptop-o-computadora-de-escritorio-_JM

Por cierto, hoy probé con otro programita para verificar su funcionamiento, y sí lo hizo de manera correcta.
Saludos!

P.D.: El modelo del BT que utilicé en el proto es HC05.
Está genial la programación de pics TOTALMENTE INALÁMBRICA!!!
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 21 de Diciembre de 2012, 19:15:55
Ya lo he pedido por internet.

¿Que soft usas para transmitir los programas? ¿Utilizas también el TinyPIC bootloader? me pareció ver otra pantalla distinta en uno de tus mensajes.

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 21 de Diciembre de 2012, 20:25:45
Para transmitir los programas uso el TinyBootloader, el otro programa que viste es uno de los tools (que es sólo para uso del USART, lo uso para comprobar que haya transmisión serial entre la computadora y el micro) que vienen con el software MikroC ; MikroC también trae otro programa de bootloader pero no me responde como debe, sólo con el TinyBootloader me trabaja.

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 14 de Enero de 2013, 13:51:43
He comprado este módulo Bluetooth y no funciona:

http://www.ebay.com.au/itm/ws/eBayISAPI.dll?ViewItem&item=200806219275

El caso es que parece sólo una PCB con pocos componentes.
¿Esta placa necesita un CI añadido?
¿Que placas funcionan OK?

Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: willynovi en 14 de Enero de 2013, 14:57:10
No se si de ese mismo proveedor, pero creo que alguien ya compró una de esas JY-MCU y no habrian tenido inconvenientes.

Por lo que dice en la publicación, es Arduino compatible, así que no necesitas mas que conectarla al PIC y tendría que funcionar.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Darkman_A en 14 de Enero de 2013, 23:22:18
He comprado este módulo Bluetooth y no funciona:

http://www.ebay.com.au/itm/ws/eBayISAPI.dll?ViewItem&item=200806219275

El caso es que parece sólo una PCB con pocos componentes.
¿Esta placa necesita un CI añadido?
¿Que placas funcionan OK?

Saludos.

Hola Picuino.
Si la plaqueta que compraste tiene ( o se ve) el rectangulo blanco (o gris) que se ve en una de las fotos del link que publicaste, entonces compraste la placa adaptadora de niveles de tension. La plaquetita Bluetooth funciona a 3,3v, si queres hacerla andar a 5v (o 6v como dice en la plaqueta) tenes que soldarla al adaptador de niveles. Tambien se venden juntas ya soldadas como la de la figura que adjunto ( que supongo es lo que deseabas comprar)
(http://img.alibaba.com/wsphoto/v0/453488389/Freeshipping-F73-Arduino-Bluetooth-Module-Slave-Wireless-Bluetooth-Serial-Port.jpg)
La placa de abajo (azul) es el adaptador de niveles de tension y la que esta arriba (verde) es el modulo bluetooth.
Para solucionar el problema podrias pedir el modulo bluetooth y soldarlo vos a la placa que ya tenes.
Lamento darte estas malas nuevas.

Saludos y suerte en la proxima compra.

Edito: En la imagen de link que has puesto dice "Interface Base Board for Serial Transceiver Bluetooth Module" y en el titulo no esta el for que hace toda la diferencia, porque traduciendo seria "interface para Transceiver" y no el transceiver.
Te cuento, para que lo tengas presente, que el modulo viene en la version esclavo y hay otra version que es maestro/esclavo (cumple con las dos funciones).
Saludos nuevamente.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 15 de Enero de 2013, 11:41:58
Muchas gracias por la explicación.

Ya he pedido la plaquita que tiene el módulo Bluetooth. Lo que más me fastidia es que ahora tendré que esperar otras 2 semanas a que llegue.


Saludos.


Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 22 de Enero de 2013, 23:10:56
Mmm qué extraño, no sabía que se podían vender sólo la placa adaptadora de niveles. Bueno, Darkman tiene razón en lo que dice. Espero que pronto puedas echar a andar el módulo BT Picuino, en la facultad ya he empezado a programar usando tu bootloader y me facilita mucho las cosas!
Por cierto, me gustaría que hicieras como un tutorial explicando cada parte del código del bootloader, ya que no trabajo en ensamblador, sino en C.
Saludos!
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: lecsdexter en 22 de Enero de 2013, 23:13:40
Darkman, ¿cómo pones una imagen para todos los usuarios? Porque cuando pongo imágenes, parece que sólo los usuarios registrados pueden ver la imágenes que subo, pero tu foto la pude ver estando offline.
Saludos.
Título: Re: Ayuda con Bootloader serial (RS232) usando módulo Bluetooth y TinyBootloader
Publicado por: Picuino en 23 de Enero de 2013, 17:25:59
Mmm qué extraño, no sabía que se podían vender sólo la placa adaptadora de niveles. Bueno, Darkman tiene razón en lo que dice. Espero que pronto puedas echar a andar el módulo BT Picuino, en la facultad ya he empezado a programar usando tu bootloader y me facilita mucho las cosas!
Por cierto, me gustaría que hicieras como un tutorial explicando cada parte del código del bootloader, ya que no trabajo en ensamblador, sino en C.
Saludos!

Me alegro mucho de que te sea util.
En realidad el bootloader de mi web es una pequeña adaptación del bootloader de Claudiu Chiculita, que es el creador del bootloader original. (http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm)

Saludos.