@sternst zu 1. die variablen können in einem zug gelesen werden(8bit), deshalb sind sie generell unkritisch beim zugriff

zu 2. bin ich mir nicht ganz sicher ob während eines interrupt veränderte variablen nicht eventuell durch den stack des unterbrochenen programms überschrieben werden, wenn der interrupt beendet ist und die variiable nicht volatile deklariert ist