Autor Tema: IF - valida funciones con paso de parametros - Proteus - CCS  (Leído 8533 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: IF - valida funciones con paso de parametros - Proteus - CCS
« Respuesta #15 en: 08 de Septiembre de 2009, 14:08:21 »
No, definiendo a Suma y Resta globales, no tengo ningún problema  :tongue: Seguro que las estas definiendo correctamente?
No contesto mensajes privados, las consultas en el foro

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: IF - valida funciones con paso de parametros - Proteus - CCS
« Respuesta #16 en: 08 de Septiembre de 2009, 14:28:34 »
Hola Suky

Me estas haciendo dudar, amigo.
Delante del main son variables globales,

Código: CSS
  1. int Resta, Suma;
  2. ///////////////   función principal   ////////////////
  3. ..
  4. ..
  5. #include cabeceras.c
  6. #include funcion.c
  7. ..
  8. .
  9. main
  10. {
  11. ..
  12. ..
  13. .
  14. }



y en fichero de cabecera la definición de función,

Código: CSS
  1. ///////////   cabecera.c   //////////////
  2. void Suma_Resta(int a, int b);


este el fichero para mis funciones
Código: CSS
  1. //////////////  funcion.c   //////////////////
  2.  
  3. void Suma_Resta(int a, int b)
  4. {
  5.    Suma=a+b;
  6.    Resta=a-b;
  7. }

dentro del main la llamada a la función:

Código: CSS
  1. ///////////////   función principal   //////
  2. main()
  3. {
  4. ..
  5. Suma_Resta(6,5);
  6. ..
  7. }
« Última modificación: 08 de Septiembre de 2009, 21:34:03 por pajaro »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: IF - valida funciones con paso de parametros - Proteus - CCS
« Respuesta #17 en: 08 de Septiembre de 2009, 14:34:53 »
Si haces lo siguiente no muestra ningún error!

Código: C
  1. #include <16F877A.h>
  2. #device adc=8
  3. #FUSES NOWDT, HS, PUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
  4. #use delay(clock=20000000)
  5.  
  6. int Resta, Suma;
  7. ///////////fechero de cabeceras
  8. void Suma_Resta(int a, int b);
  9. ///////////////función principal
  10. main
  11. {
  12. ..
  13.     Suma_Resta(6,5);
  14. }
  15.  
  16. void Suma_Resta(int a, int b){
  17.  
  18.    Suma=a+b;
  19.    Resta=a-b;
  20. }



Edit: Si las funciones están en otro fichero, o lo incluyes después de las definiciones o en el fichero las declaras de la siguiente manera:

Código: C
  1. extern int Suma, Resta;
« Última modificación: 08 de Septiembre de 2009, 14:44:23 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: IF - valida funciones con paso de parametros - Proteus - CCS
« Respuesta #18 en: 08 de Septiembre de 2009, 21:33:08 »
[modifique el post anterior]


Hola SuKy

Extern es para las variables o para las funciones?o para ambos?
En la ayuda lo pone solo como para variables...!
En la ayuda encontre muy poca "chicha"..


esto sería correcto

Código: CSS
  1. ///////////   fichero de cabeceras   //////////////
  2. extern void Suma_Resta(int a, int b);


Un saludo
« Última modificación: 08 de Septiembre de 2009, 21:43:09 por pajaro »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: IF - valida funciones con paso de parametros - Proteus - CCS
« Respuesta #19 en: 08 de Septiembre de 2009, 22:19:36 »
No se que enredos de ficheros vas hacer, pero si es valido, y extern es un modificador para variables y funciones.


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


 

anything