Cambio permanente del valor del parámetro.

Tengo una verificación de función que toma un booleano como argumento, usa el valor del booleano y luego lo cambia. Siempre le paso a esta función una variable global, como:

check(4, some_global_boolean, 'a');

y quiero que el cambio en la variable permanezca después de que se llame "check". En este momento, el cambio no va más allá de esta función de llamada. ¿Cómo hago esto?

boolean check(int key, boolean prev_key_high, char c){

 if (key == LOW) {
    if ( prev_key_high){
      prev_key_high = false;
      Serial.println(c);
      return true;
}
  }

  else {
    prev_key_high = true;
    return false;
  }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta