Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/08/2008 #1

Avatar de gzaloprgm

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
20/08/2008 #2

Avatar de Meta

¿Has probado en ensamblador?
21/08/2008 #3


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
21/08/2008 #4

Avatar de gzaloprgm

Efectivamente, era eso, estaba pasando lo maximo del 1º banco de memoria. Saludos,
Gonzalo
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.