Módulo Memory RAM Esta biblioteca sirve para averiguar la memoria RAM libre en el PIC. Las funciones nos ayudarán a conocer la memoria libre en cada banco. #include <memory.h> memory_bank0 La función devuelve la cantidad de bytes (RAM) libres en el BANCO 0. Por defecto esta función se habilita, debido a la macro I_HAVE_BANK0. BYTE memory_bank0(void); memory_bank1 La función devuelve la cantidad de bytes (RAM) libres en el BANCO 1. La funcion debe ser habilitada con la macro I_HAVE_BANK1. BYTE memory_bank1(void); memory_bank2 La función devuelve la cantidad de bytes (RAM) libres en el BANCO 2. La funcion debe ser habilitada con la macro I_HAVE_BANK2. BYTE memory_bank2(void); memory_bank3 La función devuelve la cantidad de bytes (RAM) libres en el BANCO 3. La funcion debe ser habilitada con la macro I_HAVE_BANK3. BYTE memory_bank3(void); memory_bank_all La función devuelve la cantidad de bytes (RAM) libres en todos los BANCOS. La función necesita que se habilite con la macro I_HAVE_BANK0,I_HAVE_BANK1, etc. Los bancos que se usen. BYTE memory_bank_all(void); Ejemplo de Memory para compilar necesitas los siguientes comandos Ejemplo de compilación : ./compila.sh ej_memory 16f877a ej_memory.c #include <pic/p16f877a.h> #define FOSC_HZ 20000000 #include <uart.h> #include <delayms.h> #define I_HAVE_BANK0 #define I_HAVE_BANK1 #include <memory.h> int main (void) { BYTE x; delayms(250); uart_open(SET_9600_8N1); x=memory_bank0(); //bytes libres en el Banco 0 uart_putc(x); x=memory_bank1(); //bytes libres en el Banco 1 uart_putc(x); delayms(100);//retardo para dar tiempo a que se envie el ultimo caracter uart_close(); return 0; }