Zitat Zitat von _HP_
Und was mir noch aufgefallen ist: Der 72kHz - Timer wurde auf 36kHz geändert. Leider steht nirgens WARUM?! Könntet Ihr mir das bitte erklären und dann auch in die Doku einfließen lassen. Das wäre Klasse.
Doch, es gibt folgenden Kommentar in der Doku: (Im Source asuro.c zur Funktion Init() geschrieben.)

Hinweis zur 36 kHz-Frequenz vom Timer 2
Genau diese Frequenz wird von dem Empfaengerbaustein benoetigt und kann
deshalb nicht geaendert werden.
In der urspruenglichen, vom Hersteller ausgelieferten LIB, war diese
Frequenz allerdings auf 72 kHz eingestellt. Durch eine geschickte
Umkonfigurierung durch waste konnte diese aber halbiert werden.
Sinnvoll ist dies, da der durch diesen Timer2 auch ausgeloesste Timer-
Interrupt dann nur noch die Haelfte an Rechenzeit in Anspruch nimmt.


Uff, da bin ich aber froh, dass das schon erledigt ist.

Was gemacht wurde, ist wie angedeutet etwas 'tricki':
Anstatt den Timer so zu programmieren, dass die HARDWARE bis zu dem vorgegeben Wert zählt, den Interrupt auslößt und dann den Zähler wieder initialisiert, wurde es so programmiert, dass in der Interrupt-Funktion zum Timer das Register TCNT2 um Hex 25 erhöht wird. Damit wird erreicht, dass das Taktverhältnis (An-/Aus-Zeit vom Port-Pin zur IR-Kommunikation) 50% bleibt. Ausserdem ist das Verhalten zum Wecheln genau dieses Port-Pins geändert worden.

Unterm Strich ist das Ausgangssignal am Port-Pin gleich geblieben. Nur wird, wie beschrieben, der Interrupt nur noch halb so oft aufgerufen.
That's all, ich hoffe das hilft.