#include "chip.h" #include #include #include uint8_t g_port_exit_critical_count; // NVIC_EnableIRQ // NVIC_GetEnableIRQ // NVIC_DisableIRQ void chip_critical_enter(void) { if (g_port_exit_critical_count == 0) { __disable_irq(); // NVIC_DisableIRQ(); } g_port_exit_critical_count++; } void chip_critical_exit(void) { g_port_exit_critical_count--; if (g_port_exit_critical_count == 0) { // NVIC_EnableIRQ(); __enable_irq(); } }