interruption processing - the global variable value doesn't changed in function c++

Solution 1:

You passed endFunction by value:

void Adc (volatile unsigned char endFunction,volatile unsigned char Ok) //read the first 2 cells in array symbol[ ] {

it is a local variable (copy of argument you give calling that function) so interrupt routine doesn't even know about it. You need access directly global endFunction variable or pass it as e.g. pointer.