#include "main.h" static uint8_t g_port_exit_critical_count; void chip_critical_enter(void) { if (g_port_exit_critical_count == 0) { __disable_irq(); } g_port_exit_critical_count++; } void chip_critical_exit(void) { g_port_exit_critical_count--; if (g_port_exit_critical_count == 0) { __enable_irq(); } }