Forum: Mikrocontroller und Digitale Elektronik AT90PWM3B: DAC mit Wavetable und PROGMEM


von ZweiPfundWatt (Gast)


Lesenswert?

Hi,

ich benutze die DAC-Funktion des AT90PWM3B von Atmel. Das funktioniert 
prinzipiell auch wunderbar, wenn ich einen festen Wert an das (die) DAC 
Register lege oder Funktionswerte berechne. Wenn ich Werte aus einer 
Wavetable im Progmen an das DAC gebe, kommt am Oszi nur Müll an. 
Entferne ich PROGMEM aus der Deklaration, also definiere die Werte im 
RAM, ist alles toll.

Ich würde aber gerne mit verschiedenen Wavetables arbeiten und die nicht 
alle im RAM haben. Das einzige, was mir einfällt, ist die Werte aus dem 
progmem in den Arbeitsspreicher zu kopieren und dann das DAC mit Werten 
aus dem RAM-Array zu füttern. Ist das die Lösung oder liegt mein Problem 
vielleicht woanders?

von Timmo H. (masterfx)


Lesenswert?

Wenn du etwas im Flash ablegst dann musst du es mit pgm_read_xxx lesen 
bevor du es in ein Register schreibst: 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29

von ZweiPfundWatt (Gast)


Lesenswert?

Timmo H. schrieb:
> Wenn du etwas im Flash ablegst dann musst du es mit pgm_read_xxx lesen
> bevor du es in ein Register schreibst:
> 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29

Dämlich von mir. Danke, jetzt geht's auch mit dem Progmem.

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.