Meister Sauerbruch,

ich hab' selten in einem Forum eine Post wie Deine gesehen, die inhaltlich so voller Unsinn ist. Wie soll da jemand, der sich noch nicht so auskennt daraus lernen ?

Im Auslieferungszustand sind die Fusebits beim Tiny12 so gesetzt, dass er seinen Takt über einen externen Quarz generiert.
Datenblatt Tiny12:
...for which combination of CKSEL3..0 to use. Default value is “0010”, internal RC oscillator with long start-up time.

Viel schlimmer ist aber, dass der Tiny12 gar kein RAM, sondern nur ein EEPROM hat. Das lässt sich ca. 100.000 mal beschreiben, und dann war´s das. Und 100.000 Zyklen sind schnell zusammen - bei ener Signalfrequenz von 50Hz (üblich bei RC-Signalen) in unter 1 Stunde...
Ich würde mir an Deiner Stelle für diese Anwendung unbedingt einen Controller holen, der zumindestens ein paar lausige Bytes RAM-Speicher hat.
Der TE verwendet im Code IRam, das ist ein Prozessorregister als Variable deklariert, da wird nicht das EEProm beschrieben.


...da wird der Timer nicht weit über "2" hinauskommen.
Die einzig korrekte Aussage. Gratuliere.


Die Zeile

If Rc > 70 Then Portb.0 = 0

kann so nichts werden!
Aber klar wird die was, die macht genau das Gleiche wie:
If Rc > 70 then
Portb.0 = 0
End if
In Bascom ist es zulässig eine If Anweisung ohne End If zu schreiben, allerdings kann nur eine Anweisung nach Then folgen und die Anweisung muss sich in einer Zeile mit If befinden.

@Ronny81,

der Tiny12 läuft mit 1.200.000Hz, da nirgends ein Wait verwendet wird, ist das nicht weiter problematisch daß Dein $crystal nicht stimmt, nur zum Berechnen des Timerwertes solltest Du mit der richtigen Taktfrequenz rechnen.