Autor Tema: Variable de tipo long no funciona por que?  (Leído 1247 veces)

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

Desconectado apollo11

  • PIC10
  • *
  • Mensajes: 12
Variable de tipo long no funciona por que?
« en: 26 de Febrero de 2006, 08:24:00 »
Hola amigos del foro, les escribo por que tengo un problema con una variable de tipo long que no responde.

Bueno lo que sale a continuacion es un trozo de programa que esta
en la interrupcion por tiempo, que ocurre cada segun, por lo que incrementa la
variable "seg_bomba_stop" por cada segundo de tiempo.
En el trozo de programa comparo esta variable con el valor exadecima "0x1a4"
tambien lo he comparada con 420 decimal que corresponde al valor exadecimal.
Bueno ahora viene la explicacion del problema que tengo, ocurre que este programa funciona bien en el simulador de MPLAb, pero cuando cargo el programa este no responde como debiera, ya que cuando la variable seg_bomba_stop llega a el valor 0x1a4  o 420 decimal deberia colocar la variable alarma a true, luego en otra parte del programa al detectar esta variable en true desvia el programa a una rutina que hace parpadear el display y desactiva los reles.
 
                                                ++seg_bomba_stop;
                  seg_bomba=0;
                   if (seg_bomba_stop==0x1a4)
                   {
                                      seg_bomba_stop=0;
                                     alarma=true;
                                      }  
no se si se entiende, pero lo que quiero decir es que en el mplab todo funciona bien, pero al cargar el programa no se activa la alarma, que dicho sea de paso debiera activarse a los 7 minutos que corresponde a los 420 segundos, sin embargo no es problema de hardware por que si yo cambio la variable de long a int con solo ese cambio funciona bien el programa, solo que como la variable de tipo int solo alcanza a 254, entonces la alarma se me activa mucho tiempo antes (aproximadamente 3 min).
Por lo anterior no les puse la otra parte del programa que es vastante extenso.
Otra cosa el compilador es el  CCS  3.1

Espero alguien me pueda indicar por que pasa esto.

un saludo desde chile.


   

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
RE: Variable de tipo long no funciona por que?
« Respuesta #1 en: 26 de Febrero de 2006, 14:42:00 »
Hola, ese fragmento de programa parece estar bien, pero sinver el resto del programa no se puede ver el error.

Me pregunto si estas usando el perro guardian (WDT), si lo estas usando prueva a desactivarlo en los fuses.

Saludos.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡


 

anything