Zitat Zitat von avr_racer Beitrag anzeigen
Wenn TSM nicht gesetzt war bleibt PSR10, auch wenn man es setzt bei 0 da dies über eine interne UND-Verknüpfung geschieht. Sprich solange TSM = 0 und PSR = 1 wirds zwar in der SW gesetzt aber nicht in der Hardware!!! Da muss man eine gedankliche Trennung zwischen SW-Simulator und HW machen im Simulator.
Zum PSR10 steht da eigentlich: "When this bit is one, the Timer/Counter0 prescaler will be Reset.This bit is normally cleared immediately by hardware, except if the TSM bit is set." Also wird es schon im echten µC gesetzt aber dann sofort (nach Reset) gelöscht.


Wenn TSM = 1 und PSR10 = 1 ist es richtig das PSR10 wieder 0 wird aber erst wenn der Prescaler auf 0 wechselt, welches intern mit einer Negation in der HW verschaltet ist denn man sichert sich 100%ig ab in der HW das diese HW-Funktion auch ausgeführt wurde.
Nach meinen Versuchen nicht im Simulator, sondern an einem ATtiny45 bleibt das PSR stehen, solange das TSM steht. Man kann das mit Ausgabe des GTCCR am seriellen Monitor anzeigen lassen.

Hast Du genauere HW Infos zu den µC als das Datenblatt? Meine Infos und Rückschlüsse stammen aus dem Datenblatt und Versuchen dazu.


https://www.mikrocontroller.net/topic/45304
Dann weis man wie uralt der T13 ist.
Und der TO war da anscheinend auch schon beteiligt ...

Gruß
Searcher