• Martes 5 de Noviembre de 2024, 14:56

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - gonza2004

Páginas: [1]
1
Microcontroladores / Ayuda Con Los Breakpoints
« en: Viernes 23 de Abril de 2004, 18:21 »
Hola grupo,

Estoy usando el programa mplab ide para la compilación de los programas en ensamblador, y hago uso frecuente de los breakpoints para saber en qué punto del programa puedo tener errores o puntos conflictivos. Como debugger uso el mplab sim (dentro del propio mplab) y la mayoria de las ocasiones puedo marcar los breakpoints haciendo un simple click con el boton derecho sobre la línea de código que quiero marcar. La cuestión es que hay ocasiones en las que al compilar y usar el debugger, no puedo marcar los breakpoints sobre el propio código y se me abre la pantalla de memoria de programa para que marque allí los breakpoints, lo cual no es nada cómodo si quieres controlar en qué instrucción te quedas!!!! Me gustaría que si alguien lo sabe, me aclarara esta duda, intuyo que puede ser por algún tema de declaración de variables.
 
Gracias de antemano

Gonzalo

2
Microcontroladores / Ayuda Reloj 16f877
« en: Jueves 8 de Abril de 2004, 20:25 »
Hola al foro,

Estoy realizando un proyecto con el PIC 16F877 basado en una estación domótica, que implementa diversas funciones tales como control de calefacción del hogar, control de temperatura, sensor de humos, y conexión vía modem para realizar una llamada telefónica en caso de intrusión. El proyecto se divide en módulos, el problema me surgió cuando tuve que desarrollar el módulo para la gestión del reloj en tiempo real. Este está formado basicamente por dos rutinas, una urgente, y una menos urgente. La rutina urgente esta mapeada como interrupción, y se ejecuta con cada interrupción de 1mseg por timer0. En esta se incrementa un contador de mseg y cuando este llega a 60000 (ahi esta el problema, que no se como comparar una variable con 60000!!!) es decir, un minuto, activa un flag que será usado en la rutina principal para incrementar los minutos y las horas (esta es la parte no urgente, en el lazo principal). No sé si se abrá entendido algo, si es así, les pido que me ayuden con el tema de la comparación con un valor tan alto.
Bueno, otra cosa, si alguien me dice que por qué no aumento al máximo el prescaler, le diré que en ese caso tendría que comparar con 923, ya que el máximo valor del prescaler es de 65mseg.
Otro problema que también se me plantea es cómo mostrar esto por el LCD. El programa lleva una subrutina aparte en el lazo principal que se encarga de mostrar por pantalla lo que le llega en base a una máquina de estados. Ahora bien, si a esta le paso dos registros, uno con las horas (0-24) y otro con los minutos (0-60), como puedo mostrar estos valores por el lcd (las rutinas de mostrar las tengo), si los tengo en dos registros de 8 bits cada uno?

Muchísimas gracias de antemano, aceptaré cualquier sugerencia incluso si supone dar un cambio de 180º a la realización del reloj.

Gonzalo :blink:

Páginas: [1]