Der Interrupt bringt wahrscheinlich die Waitschleife durcheinander.
Wenn ein Interrupt ausgelöst wird, müssen bestimme Registerinhalte gesichert werden. Eventuell macht dir das Schwierigkeiten.
Der Interrupt bringt wahrscheinlich die Waitschleife durcheinander.
Wenn ein Interrupt ausgelöst wird, müssen bestimme Registerinhalte gesichert werden. Eventuell macht dir das Schwierigkeiten.
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
... das kann natürlich sein, ist natürlich doof, wenn dem so sein sollte *hmmmm*
BTW: Meine Nachbildung der "Change" Funktion für die anderen beiden Engänge funktioniert nicht korrekt; ich rätsel noch... oder geh ins Bett ...
Also, ich setzte bei PWM-Anwendungen die beiden relevanten Register immer direkt. Wenn man sich da einmal reingedacht hat, ist es eigentlich ziemlich einfach. Eine gute Beschreibung des CTC-Modus findest Du auf Seite 63 im Datenblatt des Tiny13.Da ich sowieso noch nicht fertig bin, lass mich mal wissen, wie man dieses Register in Bascom setzen kann?
Falls Du es aber ohne viel Kopfzerbrechen testen möchtest, probier mal folgendes:
Wenn Du diesen Code vor die Do-Loop-Schleife stellst, müsste am Port B.0 ein Rechtecksignal anliegen, dessen Frequenz zwischen CLK/2 (wenn OCR0A = 0) und CLK/512 (wenn OCR0A = 255) liegt.Code:DDRB.0=1 'OC0A als Ausgang konfigurieren TCCR0A = &B01000010 TCCR0B = &B00000001
Lesezeichen