Autor Tema: Problema de asignación de RAM a un array, en CCS  (Leído 1637 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Diodin

  • PIC10
  • *
  • Mensajes: 10
Problema de asignación de RAM a un array, en CCS
« en: 15 de Noviembre de 2010, 15:43:52 »
Hola. Se me ha presentado un problema que necesito resolver. En un PIC16F877A, con una RAM de 368 bytes, no consigo declarar un array de 128 bytes. En concreto,

int8 variable[128]

da error "Not enough RAM for all variables", sin embargo, no es cierto que no haya RAM disponible. Queda RAM de sobra para asignársela al array.


¿Cómo puedo solucionar esto?

No me vale partir el arrray en dos de la mitad de longitud, aunque haciendo eso sí que me permite las definiciones, es decir, haciendo

int8 variable_L[64], variable_H[64]

sí permite las definiciones.

Gracias.

Desconectado bmfranky

  • PIC16
  • ***
  • Mensajes: 165
    • La Tienda De Fran
Re: Problema de asignación de RAM a un array, en CCS
« Respuesta #1 en: 15 de Noviembre de 2010, 16:15:08 »
Hola, ¿has probado a declararla la primera de todas, así te la asigna toda en el mismo banco?
Visiten La Tienda De Fran ;-) Aqui. y mi nueva Web Aqui.

Desconectado Diodin

  • PIC10
  • *
  • Mensajes: 10
Re: Problema de asignación de RAM a un array, en CCS
« Respuesta #2 en: 15 de Noviembre de 2010, 16:23:38 »
Sí, lo he probado y nones.

Un saludo

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Problema de asignación de RAM a un array, en CCS
« Respuesta #3 en: 15 de Noviembre de 2010, 17:38:56 »
Hola, en ese PIC sí hay 128 bytes de RAM continua en un sólo banco, pero C necesita algunos bytes de scratch ram para hacer operaciones, por lo que usa algunos bytes del mismo banco. Por eso no puedes declarar 128, prueba declarando 110 o algo así.

Si de plano necesitas 128 bytes continuos, mejor usa un PIC18.


 

anything