Autor Tema: Fallo en la programación de un PIC  (Leído 1495 veces)

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

Desconectado naele

  • PIC10
  • *
  • Mensajes: 11
Fallo en la programación de un PIC
« en: 13 de Mayo de 2006, 12:50:33 »
Hola a todos!Que tal?
A ver, estoy haciendo el control de un teclado y una pantalla mediante un microcontrolador para el proyecto de fin de carrera.
Os explico un poco como va, para que entendais mi duda.
Para empezar, pongo en pantalla un mensaje de inicio, que indica que el teclado se activa pulsando el asterisco (a la hora de simularlo, sería la línea rb4 del micro, ya que no viene el teclado en las opciones del simulador), y lo hace mediante la interrupción de cambio de estado en las líneas rb4...rb7.
Entonces el micro chequea todo el teclado, y solo cuando detecta que hemos pulsado la letra A, B, C o D (que en el simulador son rb4, rb5, rb6 y rb7 respectivamente), nos muestra un mensaje. Si pulsaramos el resto de las lineas no ocurriria nada.
Hasta ahí todo bien, yo elijo una opción, me muestra el mensaje, elijo una respuesta y me la muestra en pantalla también.
El problema es que necesito que cuando me haya mostrado el mensaje final de la opción que he elejido, deberia ir a la pantalla inicial otra vez, y esperar a que se volviera a pulsar el asterisco, siempre mediante interrupciones, ya que el microcontrolador también estará manejando un motor y no puede estar continuamente chequeando líneas. El programa yo lo tengo hecho, pero a la hora de simularlo me da un fallo que no soy capaz de solucionar.
Espero haberme explicado y que podais ayudarme. Os adjunto el programa.
Muchas gracias.
Un saludo, Elena

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Fallo en la programación de un PIC
« Respuesta #1 en: 13 de Mayo de 2006, 14:44:50 »
Naele, nos podrías contar que simulador usas y cuales son los fallos que comentas tienes?

Dices que te da un fallo que no puedes solucionar, pues bien si conoces el fallo podremos ver más rápidamente como hallar la solución.

Saludos


- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado naele

  • PIC10
  • *
  • Mensajes: 11
Re: Fallo en la programación de un PIC
« Respuesta #2 en: 14 de Mayo de 2006, 18:27:01 »
Hola!
A ver el simulador es el PIC Simulator IDE, y no es que el programa de fallo, creo que me explique mal. A lo que me refiero con fallo es que no hace lo que yo quiero jeje.
A ver, el teclado, en principio solo se puede activar mediante un cambio de estado en la linea rb4, que cuando se produce se incia lo que es el programa. Se activan las 3 lineas restantes para poder elegir las opciones que tenemos.
Entonces, cuando elegimos una de las opciones y termina poniendo "Ha elegido....", deberia volver al inicio, es decir, q se activen las 4 interrupciones para poder volver a elegir cualquiera de las opciones. Bueno, pues hace todo bien, pero no se porque, cuando tiene q volver a activar las 4 interrupciones no me deja, y se queda en un bucle.
Espero haberme explicado y que me podais echar una mano.
Muchisisisimas gracias de todos modos.
Un beso!

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Fallo en la programación de un PIC
« Respuesta #3 en: 14 de Mayo de 2006, 18:40:55 »
La gran mayoría de las interrupciones deben ser limpiadas por soft. Es decir que debes poner a cero el/los flag/s que hayan producido la interrupcion.Apenas ingrese a la rutina de interrupcion, verifica y limpia los flags necesarios.
Saludos.

"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.


 

anything