Das siehst du eigentlich völlig richtig.
Etliche Simulatoren und Debugger geben Takte an. Ich persönlich hab bei solchen Fragen gerne etwas Spielraum, rechne also nur ungefähr.
Beispiel:
Bei 9600 Baud braucht ein Byte ca 1 mS über die Leitung. Das ist die minimal Zeit, die ich habe bis zum nächsten Byte.
Ein 8MHZ Controller macht in der Zeit 8000 Takte, das ist eine ganze Menge Code (samt einigen Schleifen). Die brauch man normalerweise nicht, um das Byte irgendwo hinzuräumen.
I2C ist ca 10 mal so schnell bei 100 kHz. Also ein paar Byte über I2C senden ist da immer drin.
Ich wett' schon, daß du früh genug aus deiner ISR wieder rauskommst.
Wenn's soweit ist, daß du wirklich die Takte zählen mußt, ob's grad noch geht oder nicht, dann solltest du aber wirklich was anderes überlegen.
Alles hat Grenzen, auch die genannte Lehrmeinung von kurzen ISRs kommt ja nicht von ungefähr. Aber, wie gesagt, das ist kein göttliches Gebot
Lesezeichen