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;	
}