Gast
#237846
Guten Abend,
ich habe wohl ein Problem mit der Zeigerarithmetik. Das Schreiben von
OCR1A schlägt fehlt, bzw. das erzeugte PWM entspricht keinesfalls dem
geschriebenen Wert:
CODE:
-----
#define TESTV1 10
#define TESTV2 120
#define TESTV3 180
#define TESTV4 240
volatile int lutTest[4] = {TESTV1, TESTV2, TESTV3, TESTV4 };
volatile unsigned char* PtrLutByte = lutTest;
SIGNAL(SIG_OVERFLOW1)
{
// Schlägt fehl
OCR1A = pgm_read_byte(PtrLut++);
// ODER
// dies schlägt auch fehl
OCR1A = PtrLutByte++;
}
Weiß hier jemand Rat? Mir fällt nichts ein. Danke!
grüße
boris