Zitat Zitat von Besserwessi
Welcher Simulator ?
Bascom Programm und Bascom Simulator.

Zitat Zitat von Besserwessi
Die beiden Simulatoren im AVR Studio löschen das Interruptflag bei Eintritt in die ISR, so wie die Hardware.
Wenn der Timer schon in der ISR überläuft, ist das Interrutflag schon gesetzt, und die CPU springt nur ganz kurz, für einen ASM befehl, zurück ins Hauptpropgramm. Der nächste Überlauf kommt zwar erst später, aber das gestezte Flag reicht um den Interrupt auszulösen. Irgendwann geht dann ggf. auch mal ein Interrupt verloren, weil ein Überlauf bei schon gesetztem Falg auftritt.
Wenn dies der vom Bascom Compiler generierte Ablauf wäre, dann würden Timer Reload Werte von > 200 nicht zu niedrigeren Frequenzen führen, weil dann in jedem Fall mit dem nächsten Befehl die ISR angesprungen würde.
Ich habe mir den ASM Code jetzt nicht angesehen aber entscheidend ist ja, wann das TIFR.TOV0 Flag zurückgesetzt wird. Im Bascom Simulator wird das Flag jedenfalls erst im Return gelöscht.