Creo que resolví el problema, yo había declarado a DIRECTO así
int const DIRECTO[8]={...}
despues se me ocurrió quitar const
ahí no "chilló" el compilador
, me lo compiló sin problemas.
estos son los que probé:
*(p+k),
p[k] incluso probé
*p++ y también funcionó
tienen razón, para pasar un array a una función en CCS hay que utilizar punteros. El CCS cuando declara un array de
n datos, los agrupa en direcciones de memoria contigua, es decir, si son 8 datos y el primero se guarda en la dirección 0x20, entonces el segundo se guarda en 0x21 y el tercero 0x22..., octavo 0x27, el truco de usar un puntero (yo lo llamo truco ó artimaña) es tratar de tomar la primera dirección del array para despues hacer el recorrido mediante un bucle: p[k]
Hice una simulación de
puntero_recorriendo_array para comprobar si el puntero recorría mi campo de direcciones y fino, (bueno eso es lo que entiendo de punteros hasta ahora).
lo que no entiendo es porque el compilador me tira error cuando declaro el array con el const
Desde luego que estas son aproximaciones, haría falta grabar el programa en un pic y montarlo fisicamente para ver los resultados practicos.
Salu2