void closeSerial(){
/*Close serial port*/
RCSTAbits.SPEN = 0;
RCSTAbits.CREN = 0;
TXSTAbits.TXEN = 0;
PIE1bits.RCIE = 1;
}Personalmente, a no ser que el proyecto sea DEMASIADO grande, yo seguiria con los .h y .c
Ya que es incluir el lugar donde tenes las librerias y cargar el .h en el proyecto. ( No recuerdo si MPLAB X exige tambien cargarlo en source al .c).
Lo unico que te ahorras con la libreria pre-compilada es que se ahorre la compilacion. Por ejemplo XC tiene su libreria pre-compilada con las mejores optimizaciones, asi de esa forma comparten la libreria y esta "bien" optimizado sea cual sea el nivel de optimizacion que vos elegis.
De todas formas hice una prueba y funciono correctamente. Cree una libreria asi de simple:
puertos.hCódigo: C
#ifndef PUERTOS_H #define PUERTOS_H #ifdef __cplusplus extern "C" { #endif void probando(); #ifdef __cplusplus } #endif #endif /* PUERTOS_H */
puertos.cCódigo: C
#include <xc.h> void probando(){ TRISB = 0; PORTBbits.RB5 ^= 1; TRISAbits.TRISA0 = 0; }
Lo compile y me funciona correctamente. Luego inclui la libreria (que es un .lpp ) ubicada donde te dice la pagina de Microchip, e inclui el .h en un proyecto.
Quedandome:
main.c:Código: C
#include <xc.h> #include <stdint.h> #define _XTAL_FREQ 4000000 #include "puertos.h" void main(void){ while(1){ probando(); } }
Y todo funciona correctamente.
No se que errores te esta dando. Yo lo compile/simule para la misma version de PIC en ambos lados.
Si conoces alguna forma de hacer lo que quiero estaria genial.
Es decir no hay un control de versiones en donde digamos que los proyectos que tienen una copia de la libreria original tambien vean la actualizacion. Por eso estoy intentando usar GitHub con la implementacion que tiene MPLABx.