Variables en ram en picc

Hola, estoy programando para un Pic16f628a un programa para comunicarse con una eeprom via puerto serie y llegué a este problema: necesito hacer un buffer de 128 Bytes para almacenar datos antes de escribirlos en la memoria externa.

El pic que uso tiene supuestamente 224 Bytes de ram usables, pero en el Picc no puedo hacer un array de más de 86 bytes (WTF), porque me dice que no queda ram para otras variables. Lo raro es que tambien pasa en un archivo vacío (Sólo esa variable)

Al intentar compilar esto

#include <16f628a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOCPD,NOMCLR,NOBROWNOUT
#use delay(clock=20000000)

void main(){
char a[90];
}

Me dice "Not enough ram for all variables", Salvo que maneje muy mal la memoria el compilador no entiendo como puede pasar esto.

Alguen me puede decir qué estoy haciendo mal?

Gracias,
Gonzalo
 
Hola, creo que es un problema del propio compilador no admite arrays demasiado largos segun el tipo de pic prueba esto
#include <16f628a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOCPD,NOMCLR,NOBROWNOUT
#use delay(clock=20000000)

void main(){
char a[70];
char b[70];
}

Saludos
 
Atrás
Arriba