Saca:
enum {E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,E10}; //ctes maquina de estados
static unsigned char estado=0; //contiene el valor del estado
static unsigned char periodo[]={100,50,25};
static unsigned char tiempo[]={50,25,12};
static unsigned char i=0;
fuera, o al menos el estado y i, sino cada ves que entre los estaria poniendo a 0 ?, por que con el break saldria del switch y terminaria la funcion TareaA(); al entrar nuevamente define todos las cosas de nuevo.
Es la otra que se me ocurre, y si no anda, entonces alguien vendra y te salvara xD