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
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();
|
|
}
|
|
}
|