OCR1A aus Look Up Table füllen

Gast #182562
Lesenswert?
• ▲
▼
Hallo Leute,

folgendes: Mega8 Timer1 im Fast PWM Mode 14. Der Wert für OCR1A soll in
der SIG_OVERFLOW1 Routine mit einem Wert aus einem Array gefüllt
werden.


volatile uint16_t pwm;
const unsigned char  lookuptable[] = {0x01, 0x03, ...}

...

SIGNAL(SIG_OVERFLOW1)
{

  OCR1A = lookuptable[pwm];
  pwm++;
}

Igendwas geht schief. Setzte ich für [pwm] einen festen Index z.B. [3]
ein, so wird das korrekte PWM Signal erzeugt. Wird der Code so
compiliert wie er oben steht so scheint der Zugriff auf das Array
fehlzuschlagen. Es wird kein PWM erzeugt sonder es ist nur ein Peak auf
dem Port zu sehen. Die Int-Routine wird ausgeführt. Kann mir jemand
sagen woran das liegt??
Danke!
Gruß
Boris

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren