TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: wolfman77 en 22 de Agosto de 2012, 15:24:47
-
Hola a todos, despues de haberme alejado un tiempo de los pic, decidi volver a retomar el tema y avanzar un poco mas en lo poco que se..
Ya aprendi cosas basicas como crear secuencias de led, jugar con delay y esas cosas sencillas, mi proximo paso es entender como funcionan las interrupciones, por lo cual busque info en este sitio y otros mas, pero sigo sin entender.
Mi idea era si alguien seria tan amable y podria darme un ejemplo bien sencillo de una interrupcion funcionando, creo que de esa manera lo entenderia mejor.
La idea es algo bien sencillo como por ejemplo:
Tengo un led que parpadea, y al ejecutar la interrupcion, dicho led se apaga. Como veran, busco algo bien simple para ir arrancando, despues yo seguiria investigando sobre el mismo ejemplo y modificandolo para ver como funciona y entendiendolo mejor.
Para programar uso el editor Basic del Pic Simulator Ide
Muchas gracias
Martin
-
Las interrupciones en los micros, pueden ayudarte a hacer temporizaciones muy precisas, responder a comunicaciones, atender una conversion A/D, manejar un PWM, etcetera, etcetera.
casi todo lo que nombre tiene que ver con tiempos precisos...
Para hacer que un led se apague o prenda desde dentro de una interrupcion (salvo que sea un led laser), no conviene usarlas, ya que un simple delay se puede ocupar del tema.
Pero lo que si es importante de la interrupcion, es poder hacer tareas temporizadas, a la vez que tu programa corre otras secuencias de intrucciones.
Yo uso como prueba de que una instruccion funciona, un simple toggle de un led.
Una vez que entra, si estaba prendido lo apaga, a la siguiente lo prende, y asi infinitamente.
Lo ideal dentro de la interrupcion es marcar banderas y despues en el programa principal, ejecutar algo dependiendo de esas banderas y luego desmarcarlas.
Una aplicacion tipica es lectura o barrido del teclado, cada un tiempo preciso. Apenas el programa principal detecta que hay pedido de scan, ejecuta una tarea que revisa el teclado, de esa forma el programa principal se desocupa y puede correr libremente, de otra forma habria consumo de tiempo hasta realizar el barrido, haciendo mal uso de los recursos o peor aun leyendo ese teclado en cada scan del programa.
Como se hace esto, es cuestion de cada compilador, asi que te recomiendo leer la ayuda o manual del tuyo, a ver que te indica o que ejemplo da sobre el uso de interrupciones... :mrgreen: :mrgreen:
-
Gracias por la info, algo mas claro de a poco me va quedando
Lo del led se que se puede hacer mas simple poniendo la instruccion delay, pero yo lo queria ver a modo de ejemplo practico, para que me quede mas claro, voy a ver que encuentro en el manual del PSI
Gracias!
Saludos