You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

25 lines
491 B

#include "chip.h"
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
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();
}
}