Redifining Volatile Error

Interrupts arriving while disabled via noInterrupts() will be latched and acted upon when re-enabled via interrupts().

ONE instance of the interrupt will be queued, not ALL instances.

The absolute minimum time should be spent with interrupts disabled/detached. Serial printing is verbotten in that context. Disable/detach the interrupt. Copy the needed data. Re-enable/re-attach the interrupts. THEN, perform the required computations based on the copied data and print, as needed.