Hallo Harry

Ich verwende den mysmartusb-Programmer und kann damit die Fuses weder mit avrdude noch mit Bascom setzen. Ich setze meine Fuses deshalb mit dem myavr-Workpad-Demo das auf meiner Programmer-CD drauf war und das man auch bei myavr.de downloaden kann. (unter [Extras->Fuses- und Lock-Bits])

In der letzten Version meines Bascom-Programmes blinkt die LED nach dem Start eine Sekunde lang (Wait 1), ist dann eine Sekunde dunkel und dann erst wird der Timer gestartet und der RC5-Code gesendet. Wenn dein tiny13 nur mit 1,2MHz taktet wird mit Sicherheit die ISR zu langsam ausgeführt und der tiny12 hängt sich auf. Das geschieht nach dem Start des Timers sehr schnell und würde ziemlich genau zu deinem 16 Sekunden Blinkintervall passen, denn alles wäre 8 mal langsamer:

8 Sekunden Starthell + 8 Sekunden Startdunkel + ein paar Millisekunden bis Stapelüberlauf durch die ISR und dadurch ausgelöstem Neustart.

Stell doch mal testweise den $crystal-Wert auf 1200000, dann sollte bei einem 1,2MHz-tinytakt das Startblinken im Sekundentakt erscheinen weil Wait richtig berechnet wird. Allerdings immer noch mit dem Stapelüberlauf durch die ISR.

Irgendwas stimmt mit dem Timing des RC-Codes immer noch nicht. Ich habe zwar inzwischen die ISR abgespeckt (mit nosave im on orc0-Befehl) und nun kann ich auch wieder mit ocr0=133 toggeln ohne das sich mein tiny13 aufhängt. Aber auch mit doppelter Bitlänge=128 wird dann gar nichts empfangen. Möglicherweise liegt das aber schlicht an meinem 100 Ohm Vorwiderstand für die IR-LED. Mit einer normalen roten 5mm-LED sehe ich zwar das Blinken, aber wirklich hell ist es nicht. Ich muss wohl doch mal den Spannungsabfall an den LEDs messen und den Vorwiderstand richtig berechnen. (In der Spenderfernbedienung der IR-LED war bei 3V-Versorgungsspannung ein 1 Ohm-SMD Widerstand in Reihe zur IR-LED eingebaut.)

Gruß

mic