TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: pajaro en 08 de Mayo de 2009, 07:25:17
-
hola Amigos
En CCS existen las Matrices, como tales? :shock:,se pueden crear matrices de más de 2 dimensiones?
como llama la ayuda de ccs a las matrices...?como se se definen sengún sea un tipo de dato u otro tipo de dato?
Un saludo.
-
en la parte de ayuda de data definitions puedes encontrar esto
A declaration specifies a type qualifier and a type specifier, and is followed by a list of one or more variables of that type.
For e.g.:
int a,b,c,d;
mybit e,f;
mybyte g[3][2];
char *h;
colors j;
struct data_record data[10];
static int i;
extern long j;
Variables can also be declared along with the definitions of the special types.
For eg:
enum colors{red, green=2,blue}i,j,k; // colors is the enum type and i,j,k are variables of that type
asi que por lo que se ve si que se pueden hacer de almenos dos dimensiones solo es seguir probando...
un saludo
-
hola QIQE
el problemilla viene cuando quieres crear una matriz de palabras de mas de 2 diensiones y si quires meterlo todo en una función para usarlo varias veces,
el compilador de CCS te tira un monton de errores.
La información es escasa, comose buscan eso en ccs.
Amigo QiQE, te agradezco tu respuesta ,si sabes de alguna informacion más de matrices en ccs , te agradecerias que compartieras conmigo.
Un saludo amigo.
-
Hola.
Podrias poner el codigo de lo que estas haciendo?
-
Hola Amigos
estoy genrando un menu por matrices de dimension multiple, la verdad es muy dificil de representar, y de inicializar casi es tanto o igual de dificil.
menu1.2.3.4
1 2 3 4 5
elegimos del menu 1 la opción 2
dentro del 2 tenemos otros tantos 1 2 3 4 5
de estos elijo el 3
pero dentro del 3 tenemos otros tantos 1 2 3 4 5
de esos elijo el 4
haciendo un codigo en una matriz multiple,
menu[a][c][d][e];
menu1.2.3.4
menu[1][2][3][4];
menu principal, opcion1:submenu
menu[a][b][c][d]=
{{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},
{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},
{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},
{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},
{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}}}
a->1 2 3 4 5
b->1 2 3 4 5
c->1 2 3 4 5
d->1 2 3 4 5
-
Hola.
Por lo que veo es para seleccionar e identificar las opciones del menu unicamente ... no seria mejor y mas organizado hacerlo con estructuras?
-
HOLA ML0
Este menu lo he intentado de muchas formas, posiblemente solo me quede esta ultima por probar, en todos los metodos anteriores encontre un fallo que me impedia el seguir por ese camino.
Tu que me recomiendas.
La idea la tengo clara el problema es el llevarlo a cabo.
Una ayudita!!!.
-
Hola.
Creo que es el mismo ejemplo que esta en el otro hilo cierto?
Como te dije, yo creo que seria mejor mediante estructuras.
-
has probado con switch?? y una variable que incrementas?? por ejemplo menu uno->1 menuados-> 2 y asi sucesibamente luego submenu1.1 ->la variable valdria 11, asi te complicas menos.
-
Hola amigos
QIQE
eL switch por supuesto que lo tendre que usar para las elecciones, pero esto que puse es para mostrarlo en el LCD.
MLO
es uso de estructuras,todos son el mismo dato.
como lo harias tu? dame una idea..
sigo pensando en ello.
Un saludo.
-
Pues se me ocurre asi:
Para los menus del nivel mas bajo se asignan bits en la estructura, y para los otros se va haciendo estructuras de las estructuras que tienen esos menus de nivel bajo.
-
Hola
imagina un menu de 5 opciones:
1 2 3 4 5
y cuatro niveles a mostrar.
1 2 3 4 5
|
------------------->1 2 3 4 5
|
------------------->1 2 3 4 5
|
------------------->1 2 3 4 5
|
------------------->llama función
en este caso hemos elegido:
menu 1.2.3.4
esto seria ( ( ( (1 2 3 4 5) x 5 ) x 5 ) x 5 )
sigo pensando en hacer conmatriz multiple
menu[a][c][d]={} //
lo malo de este metodo es a inicializacion.
todos lo mentos mpreados anterior mente tubieron un fallo este puede que sea este.
De todas formas estoy habierto a sugerencias, dos cabezas piensan mejor que una.
-
Hola.
No se si el CCS aguante tantas dimensiones, recuerda que el espacion el micro es limitado.
-
hola ML0
se podria calcular de alguna forma el tamaño de varibles o el tamaño que me puede almacenar la rom del micro..
Un saludo.
Gracias por tu consejo.
-
Hola.
Cada letra te ocupa 1 byte. Uno puede meter tantas variables como se quiera, la capacidad maxima la da el dataasheet. Hay que tener en cuenta que ademas del manejo del menu, debes dejar memoria para las demas variables de tu programa.