#define HAL_INTERRUPT_DETACH( _vector_, _isr_ ) \
{ \
- if( hal_interrupt_handlers[_vector_] == (uint32_t)_isr_ ) \
+ if( (hal_interrupt_handlers[_vector_] == (uint32_t)_isr_) || !(_isr_) ) \
{ \
hal_interrupt_handlers[_vector_] = (uint32_t)hal_default_isr; \
hal_interrupt_data[_vector_] = 0; \