Autor Tema: problema con programa para pic 16f84a  (Leído 1212 veces)

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

Desconectado barincho

  • PIC10
  • *
  • Mensajes: 5
problema con programa para pic 16f84a
« en: 08 de Noviembre de 2014, 01:18:38 »
buenas noches, a estas alturas ya creo que me marie, quiero hacer un bucle pero que respete un estado de una variable; les escribo una parte del programa para mejor entendimiento; digo una parte porque el resto con int. ext. otra variable y demas funciona bien, solo es esta parte:

if(input(PIN_B1) {                                                 //pregunto si esta a 1
 a=1;                                                                   // esta variable ya fue declarada, aca le asigno el valor 1, si en el B1 aparece un 1
do{
...................................
......................................
......................................                                     // sentencias a ejecutar dentro del bucle
....................................
}
while(a=1);
}
con distintas formas de arreglos del do-while que realice, me surgen distintos problemas. ó me coloca el a=1 y sale del bucle; ó bien lee todas las sentencias y directamente sale del programa y no corre mas.
el programa en si tendria que esperar distintas ordenes, es decir por int-ext, por B1 (este caso) o B2 para ejecutar otras sentencias.
como dije antes la int-ext y B2 funcionan bien, solo en B1 tendria que quedar dentro del bucle y no lo hace, utilizo una variable ya que no son llaves sino pulsadores, es decir yo pulso queda el registro del evento en dicha variable (despues al salir del bucle la coloco en 0), de quedar dentro del bucle al resetear el pic quedaria listo en espera de algunas de las señales de disparo.
compilar me compila bien algunas veces, otras no cuando hago modificaciones para probar, pero ese no es problema ya que borro y listo
pero no se como hacer para que funcione
agradezco desde ya su ayuda o comentarios
gracias a todos los foristas

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: problema con programa para pic 16f84a
« Respuesta #1 en: 08 de Noviembre de 2014, 06:46:42 »
Código: [Seleccionar]
while(a==1);
Le falta un igual para ser una comparacion, es una asignacion si haces a=1, si aun asi no funciona, entonces es parte del codigo dentro del do/while

Y la verdad que no eh probado poner el while con un salto de linea, generalmente siempre lo use como

Código: [Seleccionar]
do {
...
} while (a==1);

No se si afectara, por que nunca lo probe xD
« Última modificación: 08 de Noviembre de 2014, 07:09:47 por KILLERJC »


 

anything