Das ist ja putzig - das Eingangssignal ist ja vollkommen okay, aber woher kommt dieses Ausgangssignal, dessen Periodendauer ja noch nichtmal ein Vielfaches der Eingangs-Periodendauer ist...?
Die Fuses scheinen auch richtig zu sein; einen extrem nützlichen Fuse-Calculator gibt´s übrigens hier: http://www.engbedded.com/fusecalc/ (eines meiner meistgenutzten Lesezeichen!). Der gibt für Deine Einstellungen (4,8 MHz, CKDIV8 deaktiviert) genau FF und 79 an.
Im Zweifelsfall kann man einen ganz einfachen Test machen, ob die bei $crystal angegebene Taktfrequenz tatsächlich stimmt:
Code:
Do
Toggle PORTx.y
waitms 500
Loop
An PORTx.y schließt man ´ne LED an, und wenn $crystal und die tatsächliche Taktfrequenz übereinstimmen, blinkt sie im 1Hz-Takt.
Aber jetzt müssen wir Dein Problem glaube ich ein wenig einkreisen. Ich würde als erstes überprüfen, ob das Eingangssignal auch tatsächlich dazu führt, dass die ISR ausgeführt wird. Am einfachsten ginge das so:
Code:
Zaehlung:
PORTB.0 = PINB.1
Return
Wenn die ISR korrekt angesprungen wird, liegt am PORTB.0 genau Dein Eingangssignal an - das würde das Problem schon einkreisen... probier das doch mal aus und berichte!
Lesezeichen