Gast
#777347
Hallo Ich benutze einen PIC18f4420 mit C18-Compiler. Über den Timer3 und das OutputCompare2-Register generiere ich eine variable Frequenz an CCP2. Dabei muss ich jedes mal beim Compare-Interrupt das Register um die gewünschte Periode erhöhen. Dies funktioniert soweit wunderbar bis ca. 40kHz. Problem: Sobald ich irgendwo in einer Funktion eine Multiplikation, Divison oder ähnlich programmiere, werden die Interrupts bereits bei 10kHz verpasst!! Völlig schleierhaft: dies geschiet sogar wenn die Funktion noch nicht einmal aufgerufen wird. Kennt jemand das Problem? (Der Prozessor läuft berits mit maximaler Taktfrequenz. Ausweichen auf +- funktioniert auch nicht, da x+=x ebenfalls die Multiplikationsroutinen aufruft.)