Autor Tema: Cuando intento utilizar varios CALL el pic se pierde en la ejecución del prog.  (Leído 2280 veces)

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

Desconectado fernando_realico

  • PIC10
  • *
  • Mensajes: 44
Estimados amigos:

Realicé un programa el cual funciona de maravilla progrmando el funcionamiento por 15 minutos, la idea es generar un programa de 35 minutos, estoy haciendo un porgramador universal para lavarropas automáticos.

El tema es que si no realiza muchos llamados, anda de diez, el programa finaliza bien, ahora cuanod intento llamar más subrrutinas para incrementar el tiempo de funcionamiento, se pierde, se cuelga, al tiempo lo hago decrementando registros:

retardo      movlw      47           ; Aquí se cargan los registros
      movwf      reg1           ; reg1, reg2 y reg3
tres      movlw      47           ; respectivamente
      movwf      reg2
dos      movlw      47
      movwf      reg3
uno      decfsz      reg3,1           ;Aquí se comienza a decrementar
      goto      uno           ; Cuando reg3 llegue a 0
      btfsc      acepto      ;Apagado      
      goto      reg_dos      
      call      rebote_a
      btfsc      acepto   
      goto      reg_dos      
      goto      apaga   
reg_dos      decfsz      reg2,1           ; le quitare 1 a reg2
      goto      dos           ; cuando reg2 llegue a 0   
      btfsc      acepto      ;Apagado      
      goto      reg_tres         
      call      rebote_a
      btfsc      acepto   
      goto      reg_tres      
      goto      apaga   
reg_tres   decfsz      reg1,1           
      goto      tres           
      return           

No se que pueden recomendarme, he probado de todo.

Desde ya gracias.

No utilicé nunca el TM0, no se si será mejor.
Saludos
Fernando

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Cuando intento utilizar varios CALL el pic se pierde en la ejecución del prog.
« Respuesta #1 en: 24 de Septiembre de 2010, 00:33:29 »
Hola, no debes anidar o llamar más de 8 CALLs o si no desbordarás la pila del apuntador de programa.

Desconectado martincnc

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 352
Re: Cuando intento utilizar varios CALL el pic se pierde en la ejecución del prog.
« Respuesta #2 en: 24 de Septiembre de 2010, 00:50:32 »
Hola fernando

No utilicé nunca el TM0, no se si será mejor.

Los temporizadores/contadores tienen varias ventajas, y las mas importantes deben ser que podes hacer otras operaciones mientras estos hacen su trabajo y la otra es la de poder generar bases de tiempo lo suficientemente precisas para la gran mayoría de las aplicaciones.

Saludos!
« Última modificación: 24 de Septiembre de 2010, 01:39:13 por martincnc »