Sorry, XYZ sollte als Platzhalter für die richtigen Namen der zwei Screenshots stehen :
https://www.edv-dompteur.de/forum/index.php?page=Thread&postID=4113#post4113
Ich freue mich, dass du da durchblickst. Ja, soweit stimmt alles.
Nur ist der interne RC-Oszillator bei mir dermaßen ungenau, dass er statt mit den 600kHz mit ca. 410kHz läuft, wie man im Scrennshot zum 1ten Bit sehen kann ( 550µs ).
Jaaa... nicht ganz, aber auch hier wieder den ungenauen RC-Oszillator beachten. Die 300kHz werden bereits in der INT0-ISR eingestellt und gelten somit für die darauf folgende PCI0-IRQ und schließlich immer für die OC0A-IRQ.
Hier kommt der Trick, denn dass 1te Bit wird wirklich noch mit OCR0A=66 bei 300kHz in der OC0A-ISR erfasst, aber für die restlichen 23 Bits wird OCR0A=192 am Ende der OC0A-ISR gesetzt, so dass diese dann alle 1100µs erfasst werden ( siehe anderen Screenshot ).
Nur eben nicht immer genau im gleichen Abstand, obwohl immer Haargenau die gleichen Codeabläufe stattfinden, was mich ja verwundert.
Diese Werte für OCR0A wurden experimentell ermittelt, so dass es mit den 550µs und 1100µs passte.
Bernd_Stein
Lesezeichen