Ich schaue mal wieweit mit dem von dir genannten Konzept komme. Komme die Tage auf jedenfall drauf zurück.

- - - Aktualisiert - - -

Ich stelle mir das ganze, grob, so vor.

In der while() Schleife wird das CAN abgearbeitet, worauf ich jetzt nicht weiter eingehe, weil ich erstmal nur die Regelung (nach dem IU-Ladeverfahren) realisieren möchte.

Per Interrupt gelange ich aus der while() Schleife in den Handler und führe dort eine Funktion aus, dessen Aufgabe die Erfassung des Tastgrades und die Regelung des Ausgangs ist.
Danach Timer zurück setzen und weiter mit der while() Schleife.

Muss nur noch in Erfahrung bringen, wie ich in dem Interrupt (in den ich per Timerüberlauf gelang) den Tastgrad bestimme.