To nie do końca prawda w przypadku STM32. HAL_Delay to zwykły polling na rejestrze SysTicku, może być przerwany prze każde inne, o lepszym priorytecie przerwanie. Tam jest wielopoziomowy system priorytetów i wywłaszczeń dzięki, któremu zasada taka znana choćby z AVR nie jest tak ścisła. W AVR _delay wyłącza przerwania, w STM32 tak nie jest. Przy poprawnie zaprojektowanym urządzeniu w przerwaniach mogą być dowolnie długo trwające procedury.
Oczywiście w szczególnych przypadkach należy trzymać się zasady krótkiego "kodu" w przerwaniach i pewnie w tym przypadku, dla mniej wprawionego programisty, będzie to dobra i skuteczna zasada.