Autor Tema: Problemas con el Processor Expert  (Leído 8624 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Problemas con el Processor Expert
« en: 22 de Diciembre de 2008, 21:23:36 »
Hola!

Sucede que yo siempre creaba el código en C usando Codewarrior y sin Device Init ni Processor Expert. Pero en una conferencia de Freescale usaron este ultimo y quede sorprendido. Hace la programación de micros Freescale mas fácil que CCS lo hace para PICs.

En 2 minutos tenia el programa de luces en leds corriendo y perfectamente funcional. pero mi problema se vino cuando necesite crear variables globales que se usan en el main, en las funciones mías y en las events.

el main y el event estan en hojas diferentes y a pesar de incluir dentro del main al events, por mas que declaro las variables primero que todo como lo hago en PICs, Codewarrior insiste que las variables no están declaradas.. 

La pregunta especifica es:

Como declarar una variable para que se puedan usar en todas las hojas del proyecto... tanto en events como en main.

Adjunto el proyecto a ver si les compila.

Saludos!

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Problemas con el Processor Expert
« Respuesta #1 en: 22 de Diciembre de 2008, 21:34:01 »
Hola PicMouse, deberias usar la palabra extern, asi:

extern int Pepe;

Entonces el compilador sabe que la variable Pepe es del tipo int pero esta declarada en otro modulo

Saludos !

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con el Processor Expert
« Respuesta #2 en: 22 de Diciembre de 2008, 21:35:30 »
Listo listo, gracias por las respuesta y muchísimas gracias por ser tan rápida..   :-)

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con el Processor Expert
« Respuesta #3 en: 22 de Diciembre de 2008, 21:38:22 »
No funciono..  :?

Sigue saliendo error..

En la hoja events hago esto:

unsigned char Disp_Umil=0,Disp_Centena=0,Disp_Decena=0,Disp_Unidad=0;

en la main esto:

extern unsigned char Disp_Umil=0,Disp_Centena=0,Disp_Decena=0,Disp_Unidad=0 ;

Esta mal?? eso fue lo que entendí y no corre .

Encontré este buen manual de PE pero no dice nada tampoco de variables globales..
« Última modificación: 22 de Diciembre de 2008, 21:53:06 por PICmouse »

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Problemas con el Processor Expert
« Respuesta #4 en: 23 de Diciembre de 2008, 01:57:22 »
hola PICmouse, prueba usando extern volatile en tu hoja de main y en tu hoja de eventos, lo mencionas como volatile
ejemplo, en una interrupcion externa, se crea la hoja de events, en tu main creas una flag llamada "flag" (que original soy,jejeje) bueno
la llamariamos

extern volatile bool flag;  (en tu caso seria int en lugar de bool)

y en tu hoja de eventos lo llamarias asi

volatile bool flag;


y asi no hay errores, mi querido amigo, bueno, no deberia, por que asi yo llamo las variables externas, comenta si funciono, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado damago

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 320
Re: Problemas con el Processor Expert
« Respuesta #5 en: 23 de Diciembre de 2008, 07:59:32 »
Hola PICmouse,

donde declares las variables 'extern' no las inicialices (se trata de la misma variable y no se puede inicializar con varios valores, aunque en este caso le des el mismo valor).

En la hoja events hago esto:

unsigned char Disp_Umil=0,Disp_Centena=0,Disp_Decena=0,Disp_Unidad=0;

en la main esto:

extern unsigned char Disp_Umil,Disp_Centena,Disp_Decena,Disp_Unidad;

Un saludo. Dani.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Problemas con el Processor Expert
« Respuesta #6 en: 23 de Diciembre de 2008, 10:20:58 »
Tal cual lo dijo Damago, sacando los inicializadores se soluciona, lo probe :P

Saludos !

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con el Processor Expert
« Respuesta #7 en: 23 de Diciembre de 2008, 10:53:50 »
Si Si, esta solucionado totalmente, GRACIAS!!   :-/

Habia mandado un mail a soporte Freescale jajaja  :D. No me han respondido pero ta mejor el soporte TODOPIC.

Gracias damago(dani),  RICHI777, scientist. Estaremos todas estas vacaciones en Freescale a ver si desde enero me quedo por completo acá.

SALUDOS!



Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con el Processor Expert
« Respuesta #8 en: 23 de Diciembre de 2008, 12:07:25 »
Esta es la respuesta de Freescale:

Citar
Dear XXXXXXX,

Thanks a lot for your feedback.
I just saw your project. I compile it, the compiler can not find
"Disp_Umil,Disp_Centena,Disp_Decena,Disp_Unidad" in your display.c
file.
You defined "Disp_Umil,Disp_Centena,Disp_Decena,Disp_Unidad" in events.c
file but didn't declare these variables as external in display.c. when
add below declaration in display.c before main(). There is no compile
error:
//////////////////////
extern unsigned char Disp_Umil,Disp_Centena,Disp_Decena,Disp_Unidad;
///////////////////////

Is this your problem? Please let me know if this doesn't answer your
questions.

Should you need to contact us with regard to this message, please see
the notes below.

Best Regards,

Technical Support
Freescale Semiconductor

Bueno, les recomiendo usar el soporte Freescale en preguntas que no tengan respuesta alguna por ningún lado.   Claro que primero preguntar en TODOPIC.  :D

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Problemas con el Processor Expert
« Respuesta #9 en: 23 de Diciembre de 2008, 12:39:43 »
excelente tener a alguien de tremendas capacidades, haciendo proyectos con estos poderosos micros, asi es, haz caido en la adiccion de codewarrior, el compilador adictivo, ten cuidado, jejejeje
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Problemas con el Processor Expert
« Respuesta #10 en: 23 de Diciembre de 2008, 17:22:19 »
Hola PicMouse, en mi caso cuando tengo que compartir variables y para no tener que estar declarando extern en los archivos que las uso, uso esta estructura de h.

Código: C
  1. /*===========================================================================================================
  2. ** GLOBALS.H                                                  
  3. **==========================================================================================================
  4. ** This module define all globals vars
  5. **==========================================================================================================
  6. ** Date             Author                  Comment
  7. ** XX-XX-XXXX       XXXX_YYYY               Initial Version
  8. **==========================================================================================================*/
  9. #ifndef __GLOBALS_H
  10. #define __GLOBALS_H
  11.  
  12. /* Include area */
  13. #include "types.h"
  14.  
  15. /* Esta macro define el comportamiento de la declaracion _STORAGE_LINK_ */
  16. #ifdef __FORCE_STORAGE_LINK__
  17.   #define _STORAGE_LINK
  18. #else
  19.   #define _STORAGE_LINK extern
  20. #endif
  21.  
  22. _STORAGE_LINK bool DownloadPushButtonWasPress;
  23. _STORAGE_LINK bool LastDownloadWasSuccess;
  24. _STORAGE_LINK bool Inited;
  25.  
  26. #endif

Es decir todas las variables que van a ser compartidas entre módulos las colocas en este h, en todos los archivos donde vas a hacer referencia a la misma solamente colocas el include necesario para este archivo.h
Pero solamente en un módulo incluis la sgte declaración:

Código: C
  1. #define __FORCE_STORAGE_LINK__
  2. #include "global.h"

Entonces en el archivo donde colocas la última declaración al definir la macro __FORCE_SOTRAGE_LINK__ el preprocesador reemplazara la macro del H _STORAGE_LINK por nada con lo cual queda como declaración real de la variable, en los otros archivos donde haces la inclusión a secas del archivo la última macro se reemplaza por extern. De esta manera me olvido de colocar los molestos extern.

Saludos !

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con el Processor Expert
« Respuesta #11 en: 24 de Diciembre de 2008, 13:17:56 »
Perfecto truco!

Estará debidamente aplicado!  :P

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Problemas con el Processor Expert
« Respuesta #12 en: 26 de Diciembre de 2008, 00:56:04 »
tengo un problema con el processor expert, yo siempre he usado el codewarrior para los micros HCS12, pero ahora me compre la DEMOQE, y quise hacer unos programas con el codewarrior version 6.2, pero me dice que mi licencia no es de nivel suficiente, lo intente con otros mas que no sean el qe, y tambien me dice lo mismo, la pregunta seria, la version special no deja utilizar el processor? o es que he instalado mal mi programa?
saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con el Processor Expert
« Respuesta #13 en: 26 de Diciembre de 2008, 01:01:28 »
Hola  scientist!!

Debes instalar un parche para el PE. Yo lo tengo para el 6.1.. Dime que versión tienes y vemos como te ayudo.

SALUDOS!

EDITO: La DemoQE trae el CD con el 6.1, instala ese no?

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con el Processor Expert
« Respuesta #14 en: 26 de Diciembre de 2008, 01:15:40 »
Acá están las actualizaciones!!

SALUDOS!


 

anything