Hallo helmut_w,
ja, ich traue mich noch![]()
Auch ich konnte aus beiden Beiträgen downloaden. Habe aber noch nichts getestet.
Ich stimme damaltor zu, auch ich würde das |= stehen lassen.
Was ich aber noch in der Doku gefunden habe (ja, das Thema ist gegessen, auch ohne Prinzenrolle!) ist folgendes:
Dies gilt scheinbar für jedes Flag, welches einen Interrupt auslösen kann. Ausnahme eventuell beim SPIF-Bit.Seite 12/13 Reset and Interrupt Handling
Interrupt Flags can also be cleared by writing a logic one to the flag bit position(s) to be cleared.
Ich habe kein Liste gefunden, welche Flags es denn nun genau sind. Immer nur bei den einzelnen Flags, gibt es einen 'versteckten' textuellen Hinweis.Seite 22 I/O Memory
Some of the Status Flags are cleared by writing a logical one to them.
Bei diesem Bit ist als einzige Stelle tatsächlich mal mit (zero) ein Hinweis auf ein 'gecleardes' Bit, dass es dann '0' ist gegeben.Seite 46 General Interrupt Control Register - GICR
When the IVSEL bit is cleared (zero), ...
BRAVO an damaltor, der sich getraut hat diesen Sachverhalt hier zu posten. (Wer setzt den schon ein Bit auf '1' um es auf '0' zu setzen?)
Hier hört mein Englisch tatsächlich auf. Die weitere Erklärung von CBI und SBI mit 'read as set' kann ich tatsächlich nicht mehr umsetzen.Seite 283 Register Summary (Continued)
Note:
3. Some of the Status Flags are cleared by writing a logical one to them
Note that the CBI and SBI instructions will operate on all bits in the I/O Register,
writing a one back into any flag read as set, thus clearing the flag.
The CBI and SBI instructions work with registers 0x00 to 0x1F only.
Lesezeichen