Pages: [1]   Go Down
Author Topic: cambiar valor de un array  (Read 866 times)
0 Members and 1 Guest are viewing this topic.
Orduña- Bizkaia
Offline Offline
Sr. Member
****
Karma: 0
Posts: 317
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Estoy intentando manejar un LCD del nokia3310 q venden por ahi hecho solo que yo me lo he montao casero, ya tengo el joystick montao y todo, pero ahora quiero hacer unos menus tipo la configuracion del bicho pero no se como hacerlo la idea es moverse por lo menus atraves de los menus q es un array multidemensional creo q se llama y que al dar a un boton de ese menu guarde los datos en un variable y cambie el array pero no me sale.
El array seria asi
Code:
char menu_items[NUM_MENUS][NUM_MENU_ITEM][14]={
{  "TEMPERATURE",
  "grados"},
{  "90",
  "180",
  "270",
  "360",
  "Volver" }
};

Por ejemplo al dar a 180 la funcion es
Code:
void 180(){
    ngrados=180;
    current_menu_num = 0;
    current_menu_item = 0;
   xxxxx aqui cambiar el array y poner 180* para saber el valor q tiene guardado.
}

he probao con  menu_items[1][3]="1"; pero me salta error: incompatible types in assignment of 'const char [2]' to 'char [14]' si pongo menu_items[1][1][14]="1"[14] no me da error pero no veo q cambie.

Un saludo.

Si alguien sabe mejor como trabajar con menus que me diga o alguna guia mas clara.
« Last Edit: October 03, 2010, 06:32:53 pm by riscking » Logged

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 721
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hola,

no conozco el tema del LCD, pero si declaras "menu_items[][][]" como char, para cambiar el valor de una cadena char se suele usar la función strcpy().






Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

La manera mas "pro" es usar function pointer,aunque no la mas "sencilla".

http://www.arduino.cc/playground/Code/Menu
http://www.newty.de/fpt/index.html


Una manera sencilla, con switch.




Saludos,



« Last Edit: October 04, 2010, 11:36:57 am by igorreal » Logged


Orduña- Bizkaia
Offline Offline
Sr. Member
****
Karma: 0
Posts: 317
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

De momento como dice curro92 me sale poniéndolo así:

char s1[14] = "180*";
strcpy(  menu_items[1][2],s1 );

Mirare lo del pointer ese pero como uso la libreria tb del lcd es un poco cacao.

Gracias por la ayuda.
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Si alguien sabe mejor como trabajar con menus que me diga o alguna guia mas clara.

Bueno, mi respuesta era más a cómo implementar un Menu/Submenus, incluyendo la función que debe hacer cuando lo selecciones.

Si vas a guardar bastantes cadenas, echa un vistazo cómo guardar vectores de texto en Flash, en vez de Ram en http://www.arduino.cc/en/Reference/PROGMEM


 smiley-wink
« Last Edit: October 04, 2010, 04:48:46 pm by igorreal » Logged


Pages: [1]   Go Up
Jump to: