Forum: Mikrocontroller und Digitale Elektronik monsterarray im PROGMEM


von pumpkin (Gast)


Angehängte Dateien:

Lesenswert?

hallo forum,

folgendes problem: ich möchte einen unsigned char array mit 40000er 
tiefe in den programmspeicher eines ATmega128 legen. syntax in der 
angehängten txt-datei. der beim compilieren kommt jedoch folgende 
fehlermeldung:

>> D:\...\./sinus_40000.txt:3: error: size of variable 'sinus_40000' is
>> too large
>> ../sieben_segment_2.c: In function '__vector_15':

(so sieht die fehlermeldung aus wenn das array in einer includierten 
txt-datei liegt - liegt es direkt im main-c-file ändert sich 
sinnvollerweise nichts.)

mit 20000er tiefe funktioniert es einwandfrei. wo liegt mein fehler, 
oder geht es nicht solch ein großes zusammenhängendes array zu 
deklarieren?


grüße
pumpkin

von pumpkin (Gast)


Lesenswert?

entschuldigung, das wichtigste habe ich vergessen:

AVR Studio 4.12 SP 4

pumpkin

von mr.chip (Gast)


Lesenswert?

Hallo

Nicht dass ich deine Frage direkt beantworten kann, aber trotzdem ein 
Hinweis: Du scheinst dir eine Lookup-Table für einen Sinus gebastelt zu 
haben, mit einer sehr genauen Auflösung (jedenfalls auf der x-Achse). 
Nur bringt dir dies nicht viel, da die Funktionswerte nur auf 1/256 
genau berechnet werden. Da würde es bei einer so "vernünftigen" Funktion 
wie dem Sinus auch genügen, wenn du die Lookup-Table ebenfalls nur aus 
256 Werten bildest.

Es reicht, diese Werte für den Sinus zwischen 0 und 90 Grad zu 
berechnen, alles weitere, inklusive dem Cosinus (und mit etwas mehr 
aufwand auch dem Tangens) kriegt man mit einfachen Rechenoperationen 
daraus.

Gruss

Michael

von pumpkin (Gast)


Lesenswert?

ich weiss ich weiss, rein rechnerisch beträgt bei 8 bit auflösung eine 
anzahl von 805 (genauer 804,24...) samples. aber das ist nicht der 
punkt. speicher ist im überfluss vorhanden, aber schnell soll die sache 
sein; deswegen ist keine zeit für eine längliche rechnung um den kleinen 
table 'auseinanderzurechnen'.

aber trotzdem danke für deine antwort.  : )

pumpkin

von OliverSo (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.