sábado, 17 de agosto de 2013

Error al compilar programas con puerto serial en Pinguino X.4

En el programa X.4 viene muchos programas de ejemplo, uno de ellos dentro de la carpeta examples/08.interrupt/Counter.pde.

En este código se usa el contador 3 del microcontrolador pic18F2550, una señal aplicada al pin 10, incrementará el valor del registro 3. y enviara por los pines del puerto serial, el numero que contiene el registro.

Sin embargo, al tratar de compilar este archivo, el X.4 enviará un mensaje de error, donde indica que existe un bit denominado RC1IF que no está definido. El problema está en la línea 98 del archivo x.4/p8/pinguino/core/serial.c

//PIR1bits.RC1IF = 0; // Clear interrupt flag

de acuerdo al datasheet en la página 147 del microcontrolador pic18F2550 el bit del registro PIR1, se denomina RCIF, por lo que es conveniente cambiar esta línea por lo siguiente:

PIR1bits.RCIF = 0; //17 de Agosto de 2013

de acuerdo al data del 2550 Este es el resultado que se obtiene

File: /home/miguel/opt/x.4/examples/08.Interrupt/Counter.pde
compiling... Compilacion completada
code size: 10626 / 24575 bytes (43% used)
1.3107790947 segundos (Tiempo de proceso)
Pinguino not found Is your device connected and/or in bootloader mode ? Pinguino found Bootloader v2.12
Writing ...
Counter.hex successfully uploaded