monsterarray im PROGMEM

Gast #498441
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
Angehängte Dateien:
Gast #498454
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
Gast #498461
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.