Chip: PIC18f26j50
Compilador: C18
Mi objetivo es almacenar valores en una tabla en la memoria RAM utilizando estructuras y alimentar los valores que son bastante grandes.
#include <p18F46J53.h>
struct table
{
float temp;
float humidity;
float pressure;
}entry[300];
Este es mi código de muestra y tengo que almacenar dichos miembros en la memoria del controlador. Esto tiene el propósito de monitorear los datos circundantes de la atmósfera. Y luego volcar estos datos en EEPROM.
Pero tengo problemas para generar el código, ya que da el siguiente error:
Error: la sección '.udata_main.o' no puede ajustarse a la sección. Sección '.udata_main.o' length = 0x000013ec
Intenté buscar en Google para corregir este error de udata y terminé con Cómo crear objetos de más de 256 bytes con el MPLAB C18 de Microchip .
Pero esto muestra cómo almacenar cada variable. ¿Cómo puedo almacenar struct
s en C18? ¿O es imposible?
Intentaré ser más específico. Encontré este método para almacenar datos de más de 255 bytes.
#pragma udata large_udata
unsigned char big_buff1[300];
unsigned char big_buff2[350];
#pragma udata
¿Cómo puedo almacenar estructuras más grandes para que solo necesite 3000 bytes en la preparación de la tabla?
Preferiría usar float
pero puedo conformarme con usar int
/ char
.
Espero que esto aclare las cosas.