TODOPIC

Microcontroladores PIC => - Niple - => Mensaje iniciado por: Fidel Martins en 24 de Octubre de 2008, 21:57:18

Título: ayuda con Niple
Publicado por: Fidel Martins en 24 de Octubre de 2008, 21:57:18
Buenas, señores.
Soy nuevo en el foro y en la cuestión de micros.
Los acompaño aca de Brasil (por eso no le den bola al dictado, hago lo que puedo)
Estoy enpezando a usar Niple (v5.2 r3) y ya esto me esta dejando frustrado, puez saco los proyectos y lo paso al MPLAB e no anda y quemo el pic....y la misma cosa.
Sigue adjunto el archivo *.asm
Le pedi ayuda a Canito, pero creo que deve estar ocupado.
Agradesco la atención.
Fidel.
Título: Re: ayuda con Niple
Publicado por: Mike79 en 25 de Octubre de 2008, 13:40:50
¿Específicamente cual es tu problema?

Compile el código y no tiene ningún problema. Compila correctamente.
¿Que es lo que quieres que haga?, para emularlo en proteus o poder ayudarte de alguna otra forma

-
Mike79
Título: Re: ayuda con Niple
Publicado por: Fidel Martins en 25 de Octubre de 2008, 19:27:57
Hola Mike79.
Gracias por la atención. Te voy a explicar el proposito: la intención es que cuando aprete el boton en GP2 dispare la salida en GP0 en onda cuadrada 100 Hz y se quede en loop hasta que otra vez apretado el boton cambia la situación (en el ejemplo se va a cero y espera otra llamada). Pues mi idea es mas grande, con tres o cuatro tipos de salida, pero por mientras no consigo que ande con una. Ya lo hice con las cuatro, pero sin usar la flag de interrupción, o sea sin loop, tenia que mirar el boton disparar el tipo de salida (un ciclo, no mas) y volver a mirar el boton, cargar un registro (para que se fuera desplazando en secuencia la salida), hacer la comparacion, cargar la salida y asi por adelante. Funciono pero No me gusto porque: cuando cargas el boton se pierde tiempo (pausa p/sacar el rebote) y el led se apaga por un rato hasta que termine el proceso del boton. Por eso me aventure con la interrupción.
Mi dificultad es esta: una rutina en loop, ai despierta, entra en otra rutina en loop, despierta......y a la cuarta vuelve.
Un saludo ameno a vos y a todos colegas que nos leen.
Título: Re: ayuda con Niple
Publicado por: Mike79 en 30 de Octubre de 2008, 17:03:18
Pues seria util ya que explicaste lo que deseas hacer, que publicaras el .npl
Para ver por que no hace lo que quieres.

Saludos!
-
Mike79
Título: Re: ayuda con Niple
Publicado por: Fidel Martins en 06 de Noviembre de 2008, 21:38:17
me salio mal ahi va de nuevo
Título: Re: ayuda con Niple
Publicado por: Mike79 en 08 de Noviembre de 2008, 00:11:59
Ya tuve oportunidad de revisar tu codigo.

Tiene un problema tu programa. Pero me temo que es de logica.
El problema es que cuando se invoca la interrupción, tu te quedas ahi en un ciclo, nunca regresas al programa principal
por lo tanto nunca se vuelve a invocar la interrupción.

Si tu te quedas ciclado dentro de una interrupción, el micro no regresa al codigo principal y no se vuelve a invocar la interrupción.

Tienes que cambiar la logica de tu programa.

Saludos!
-
Mike79
Título: Re: ayuda con Niple
Publicado por: Fidel Martins en 08 de Noviembre de 2008, 17:40:16
Ok Mike79 era eso que me temia, pero como hago si necesito que el prog. se quede por vezes en un ciclo y que la interrupcion lo saque y entre en otro ciclo? se puede invocar la interrupcion de dentro de otro ciclo que no sea el principal?
Gracias por tu atencion.
saludos.
Fidel.
Título: Re: ayuda con Niple
Publicado por: jamesoro en 08 de Noviembre de 2008, 17:51:01
bueno, yo soy nuevo en esto del niple. sabes cuando hago un programa primero lo diseño en una hoja, con sus bases principales y si se nota que el programa no avansa o no va a ninguna pate, en la ultima parte la fleca deveria apunta al princio del progama, o a la parte donde deseas que inicie de nuevo, te aclaro si un archivo .asm te muestra problemas en el mblab ni lo quemes que esta malo por eso el mblab tiene simulador y muy bueno. suerte men
Título: Re: ayuda con Niple
Publicado por: Mike79 en 08 de Noviembre de 2008, 18:42:16
Pues yo pienso que en tu caso, la interrupcion solo debe incrementar la variable sequencia y regresar
Si la variable llego a 4 entonces inciarla de nuevo en cero.

Y el principal deberia ser algo así como:

Etiqueta Inicio

if sequencia = 1 entonces
GP0=1
Espera 2500 microsegundos
GP0=0
Espera 7500 microsegundos
y Regresa a la etiqueta inicio

if sequencia = 2 entonces
GP0=1
Espera 5 mse
GP0=0
Espera 5 mse
y Regresa a la etiqueta inicio


etc...

Así cuando preciones el boton haria una vez la secuencia y luego regresaria al inicio.
Si el valor no ha cambiado volvera hacer la secuencia,  pero si el valor cambia, entonces cambiaria la secuencia.

Si ninguna condición se cumple, entonces no haga nada y solo regresa al inicio.

Espero quede claro.
Saludos!
-
Mike79
Título: Re: ayuda con Niple
Publicado por: Fidel Martins en 08 de Noviembre de 2008, 20:14:47
Muchas gracias Mike79, voy trabajar en ese sentido.
Por hablar en "etiqueta", yo no consegui hacerla trabajar en Niple (v5.2,3).
Yo la coloco con nombre y al llamarla no viene, como que no existiera. otra cosa cuando uso un decfsz me sale al revez las salidas (si y no) ahi soy obligado a ponerlas al revez en el grafico pa que me ponga correcto en el codigo.asm.
sabes algo deso.
Saludos.
Fidel.
Ps. no hai un corrector ortografico para que me arregle lo que escribo aca en el foro? pues soy brasileño.
Título: Re: ayuda con Niple
Publicado por: Fidel Martins en 08 de Noviembre de 2008, 20:31:43
bueno, yo soy nuevo en esto del niple. sabes cuando hago un programa primero lo diseño en una hoja, con sus bases principales y si se nota que el programa no avansa o no va a ninguna pate, en la ultima parte la fleca deveria apunta al princio del progama, o a la parte donde deseas que inicie de nuevo, te aclaro si un archivo .asm te muestra problemas en el mblab ni lo quemes que esta malo por eso el mblab tiene simulador y muy bueno. suerte men
Gracias por la atención Jamesoro.
Es asi como procedo. Siempre lo prolijo en Mplab y lo pruebo todo y lo recorto, pego y lo relleno con los comentarios para aclararlo. Pero aun asi felicito y agradesco a Canito y otros que crearon esta herramienta, pues me quede como 5 años caliente para programar algo y nunca empezaba y ahora con menos de un mes estoy mui agusto haciendo entornos de proyectos que antes gastaban muchos conponentes con pocas soluciones.
Saludos.
Fidel.