Hallo,

ein fehlendes volatile ist sicher ein Fehler. Führt aber nicht zwingend sondern nur möglich zu einer Fehlfunktion. Die weiteren, von dir aufgeführten Sachen, habe ich mir schon nicht mehr angeschaut. Mein erster Verdacht liegt in den großen Variablentypen und der Verwendung in der ISR bei leichtfertigem Zugriff außerhalb dieser.

Ist aber alles Spekulation.

Gruß

Jens