Hallo liebe Forenmitglieder.
Ich bin relativ neu im Bereich der uC Programmierung und habe seit
einigen Tagen eine lästige Fehlermeldung beim compilieren meines Codes.
System:
uC PIC24FJ256GA108
Programmierumgebung: MPLAB Microchips v8.46
Compilier: Hi-Tech C compilier
Nun zu meinem Problem:
Ich habe einen compilier fähigen Code der schon eine bestimmte Anzahl
von float/double Variablen enthält. Definiere ich nun eine neue
float/double Variable (sosHP) wird folgender Fehler ausgeworfen:
1 | X:\'projectname'\mess.c: 835: (1172) slit10 constant out of range
|
(zwischen der Zeilenangabe 835 und der Definition der neuen Variable
gibt es keine Verbindung)
Die neu definierte Variable wird noch nicht im Code verwendet.
Komentiere ich nun eine bestehende float/double Variable aus und lasse
die neu hinzugefügte float/double Variable unverändert, lässt sich der
Code problemlos compilieren.
1 | 1- double sosHP[2][6]={{1.0,-2.0,1.0,1.0,-1.9681033113,0.9690749309},{1.0,-1.0,0.0,1.0,-0.9690674172,0.0}};
|
2 | //double sosHP[2][6]={0}; //= gleiche Fehlermeldung wie in Zeile 1 (nur Zeilenangabe anders)
|
3 | 2- float gainHP[3]={0.0008413441,1.0,1151.8131864772};
|
4 | 3- double accDataHP[3]={0};
|
5 | 4- double accDataHP1[3]={0};
|
Ich persönlich vermute ein Speicherproblem:
Das Software Tool MPLAB wirft nach jedem Compiliervorgang ein Summary
aus. Aus diesem kann ich den benötigten Datenspeicher ablesen. Dieser
liegt bei mir, bei 7.1% des verfügbaren. Das würde meine Theorie wieder
über den Haufen werfen.
1 | Summary:
|
2 | Program space used 1C99h ( 7321) of 155FCh words ( 8.4%)
|
3 | Data space used 48Dh ( 1165) of 4000h bytes ( 7.1%)
|
4 | Mapped data used 560h ( 1376) of 8000h bytes ( 4.2%)
|
5 | Interrupt Vectors used 2Eh ( 46) of 7Dh words ( 36.8%)
|
6 | Alternative Vectors used 2Eh ( 46) of 80h words ( 35.9%)
|
7 | Config bits used 0h ( 0) of 4h words ( 0.0%)
|
Hat jemand eine Idee? Hat jemand diesen Fehler schon einmal gehabt? Bin
über jedes Feedback erfreut.
Mit besten Grüßen
Christopher