sincronización de datos sin usar semapore en C

Necesito tener sincronización de datos en mi código. Actualmente estoy accediendo a un valor global dentro de interrupción y también en una función local que puede corromper los datos si la llamada de interrupción es frecuente. Necesito evitar este escenario. No estoy usando el sistema operativo en mi código, por lo que no puedo usar un semáforo. Usar un método de bloqueo similar al semáforo podría resolver mi problema.

Cualquier ayuda sería apreciada

Respuestas a la pregunta(3)

Su respuesta a la pregunta