Autor Tema: Ayuda con typedef struct MikroC  (Leído 2873 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado astenoth

  • PIC10
  • *
  • Mensajes: 7
Ayuda con typedef struct MikroC
« en: 15 de Marzo de 2010, 18:11:47 »
Hola a todos, soy nuevo en el foro y practicamente en el mundo de los PIC's
Llevo haciendo pinitos ya un tiempo, y siempre he intentado usar typedef struct y ahora mas que estoy intentando hacer un menu para un LCD o adaptando mejor dicho.
Bueno al grano el codigo que declaro en MikroC es el siguiente
Código: [Seleccionar]
#define MENU_FIN 0
#define MENU_COMANDO 1
#define MENU_SUBMENU 2
#define SUBMENU_ANTERIOR 3
#define MENU_MAIN 4

typedef struct{
        char TipoMenu;
        char *TextoMenu;
        char *PtrMenuSeleccion;
}MENU;

MENU SubMenu1[];

MENU MenuPrincipal[]={
        {MENU_MAIN,"",vInicializaSistemaDisplay},
        {MENU_SUBMENU,"Sub Menu",SubMenu1},
        {MENU_FIN,"",0}
        };
Al compilarlo siempre me da el mismo fallo: cannot cast " to " y too many initializers

Seguro que es un fallo mio o alguna tonteria, pero por mas que busco no encuentro nada.

Un saludo a todos

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda con typedef struct MikroC
« Respuesta #1 en: 15 de Marzo de 2010, 21:20:23 »
Se me hace conocido el código!  :shock:  :D :D

No tengo idea como trabaja MikroC con punteros a memoria de programa, que es lo que en C18 se hace con rom char *PtrMenuSeleccion. Por ejemplo en CCS no se puede hacer rom char *TextoMenu, pero si se puede trabajar con punteros a funciones creando un typedef del puntero con anterioridad:
Código: C
  1. typedef void *_Ptr(void)
  2.  
  3. typedef struct{
  4.         char TipoMenu;
  5.         char *TextoMenu;
  6.         _Ptr PtrMenuSeleccion;
  7. }MENU;

Todo esto para decirte que es muy dependiente del compilador y hay que buscar información sobre ello, y lo mejor creo yo sería en el foro de mikroC, dado que por aquí se usa poco  :?

Igualmente puede que alguno de con la tecla  ;-)

Saludos!
No contesto mensajes privados, las consultas en el foro