Autor Tema: Ayuda para llamar funciones en C  (Leído 1482 veces)

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

Desconectado cerc151

  • PIC10
  • *
  • Mensajes: 17
Ayuda para llamar funciones en C
« en: 14 de Marzo de 2005, 13:00:00 »
Hola a todos.
Tengo un problema con llamar funciones en el compilador  PICC de HI-TECH.
EL problema es el siguiente: cuando quiero llamar una dentro de otra me aparece un error de recurcividad.
Ejemplo:  void funcion1 (void)
               {

                     funcion2();
                }
                void funcion2 (void)
                {
                     funcion1();
                }
Si alguien sabe como puedo hacer una funcion recursiva en este compilador por favor diganme como, o sino, diganme como puedo hacer un reset al PIC desde software.
Gracias a todos

Desconectado roc364

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 108
RE: Ayuda para llamar funciones en C
« Respuesta #1 en: 14 de Marzo de 2005, 18:25:00 »
Hola cerc151, creo que los compiladores C para Pic no soportan la recursividad. (nunca lo probe pero me parecio leerlo por ahi).
Interesante la pregunta del reset desde software...
se me ocurre usando un pin de salida, que ponga a 0 el pin de reset, pero me parece medio "pampeana" la solucion!!!! Sonrisa


saludos!!
Hay solo 10 tipos de personas, los que entienden el codigo binario, y los que no.

Viva La Patagonia Argentina!!

Desconectado mariosaul

  • PIC10
  • *
  • Mensajes: 21
RE: Ayuda para llamar funciones en C
« Respuesta #2 en: 14 de Marzo de 2005, 20:39:00 »
si explicas que es exactamente lo que tratas de hacer podemos tratar de cambiar tu algoritmo a uno iterativo, muchas veces se puede lograr, pero no siempre

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Ayuda para llamar funciones en C
« Respuesta #3 en: 15 de Marzo de 2005, 03:28:00 »
Con respecto a la recursividad, como dice mariosaul, es probable que pueda "traducirse" tu algoritmo a uno iterativo.

Respecto al Reset hay dos formas:
a) necesitarás modificar el hard, puesto que consiste en poner un transistor en la patilla reset gobernado por un pin de salida, como anuciaba roc364.
b) utilizando el WatchDog. Es un dispositivo que resetea el pic si no se le da un refresco continuamente. Por tanto, podrías poner ese refresco en el bucle principal de tu programa, y eliminarlo cuando quieras resetear.

Desconectado cerc151

  • PIC10
  • *
  • Mensajes: 17
RE: Ayuda para llamar funciones en C
« Respuesta #4 en: 15 de Marzo de 2005, 05:55:00 »
Gracias a todos por su ayuda ya estoy reescribiendo el codigo, con respecto a lo del watchdogtimer me lo podrian explicar mejor?  ya que nunca lo he usado. Si pueden poner un ejemplo se los agradeceria mucho
Gracias


 

anything