The Arduino page for noInterrupts()
says:
Some functions will not work while interrupts are disabled, and incoming communication may be ignored.
While it may not be possible to give a complete listing of what would be disabled, having an incomplete list of functions which definitely are disabled would be useful.
I was thinking of calling a DHT sensor library which internally uses millis()
while interrupts were disabled to avoid both bit banging and servicing interrupts simultaneously if possible (the interrupt would hold and be processed after).
Which functions are definitely disabled when interrupts are disabled?
What about incoming communication? My guess is that it would be slightly worse on the ATmega32U4 (eg Leonardo) as the one processor does USB and everything else as well.
grep ISR *.cpp
will generate a list of all ISR functions in the Arduino core. These are the HardwareSerial (UART/USB: receive, transmitt) and Timer functions (millis, micros, tone).