Autor Tema: problema con vector para un onda SENO en PIC C  (Leído 2114 veces)

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

Desconectado RS232

  • PIC10
  • *
  • Mensajes: 43
problema con vector para un onda SENO en PIC C
« en: 04 de Agosto de 2006, 19:06:25 »
hola...


la idea del programa es tener un vector llamdo SENO_FREC_1 para alamacenar los valores de una onda sinusoidal para un periodo completo, para que de tal manera si se cambia la frecuencia de la señal cambie los valores del vector SENO_FREC_1 siempre para un periodo...

en el caso del ensamblador se podia usar ORG para cambiar de pagina y reserva las posiciones para la tabla....
pero en el pic c cuando  coloco la siguiente instruccion

byte SENO_FREC_1[80];

sale un mensaje de error "no enough RAM for all variables"

como hacer para colocar el vector en la direccion A0H al EFH
estoy utilizando un PIC16F877
no llego a entender porque cuando se define como:

byte CONST SENO_FREC_1[80];
no sale ningun mensaje de error...
no ocupan el mismo espacio en memoria???

gracias por su ayuda
saludos..

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: problema con vector para un onda SENO en PIC C
« Respuesta #1 en: 04 de Agosto de 2006, 20:11:48 »
Dependiendo de la versión del compilador,te deja crear arrays hasta un cierto tamaño máximo,aún siendo inferior a la capicdad de ram del micro.
Yo lo he compilado sin problema con la versión 3.249.
Al declrar tu array como constante,lo estás alojando en la memoria de programa y no en ram,por lo que es normal que por ahí si te deje crear variables de tamaño considerable.Prueba a buscarte una versión reciente de CCS (si es que estás usando una antigua) y vuelve a probar.
Para alojar tu array donde necesitas sería de la siguiente manera:

#ORG 0xA0,0xEF
byte SENO_FREC_1[80];

Saludos