Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

31/08/2010 #1


Vector de Reset, #build (reset=0x0000)
Buenos días.
Escribo desde Uruguay, soy estudiante de ingenieria electronica y acutalmente estoy comenzando con la programacion de microcontroladores PIC en lenguaje C, estoy usando el CCS.
Necesito saber como se manipula el vector de reset. Lo que necesito es que al poner un nivel bajo en el pin MCLR de un 18F4550 el programa no se comience a ejecutar desde un punto del programa distinto a principal (main).
agradezco sus aportes.
Vulquiró.
28/09/2010 #2


Respuesta: Vector de Reset, #build (reset=0x0000)
nadie puede ayudarme??
28/09/2010 #3
Excluido


Respuesta: Vector de Reset, #build (reset=0x0000)
A ver, a ver, espera Vulquiro escribo algo para que algun forista se anime a contestar.

vulquiro dijo: Ver Mensaje
. . . Necesito saber como se manipula el vector de reset . . .
Vulquiro, revise el datasheet del microcontrolador que esta usando, y le explicare el porque con un ejemplo del PIC16x8x:
  • Cuando el microcontrolador (uC) inicia, el contador de programa (CP) se carga con la direccion 00h.
  • Cuando el uC se resetea, el CP se carga con la direccion 04h.
Entonces, cuando escriba un programa siempre tiene que decirle que: en la direccion 00h salte al programa principal y en la direccion 04h salte al programa de la interrupcion.

28/09/2010 #4

Avatar de pepechip

Respuesta: Vector de Reset, #build (reset=0x0000)
Mandrake dijo: Ver Mensaje
:
  • Cuando el microcontrolador (uC) inicia, el contador de programa (CP) se carga con la direccion 00h.
  • Cuando el uC se resetea, el CP se carga con la direccion 04h.
Eso no es cierto. Tanto cuando se inicia como cuando se resetea arranca desde la direccion 00h, el arranque desde la direccion 04h ocurre cuando se activan algunas de las interrupciones.

En cuanto a tu problema puedes solucionarlo muy facilmente:
Cuando tu reseteas un pic, las variables no se borran, mantienen el mismo valor. Lo unico que tienes que hacer es configurar una variable con el nombre "arranque" y le das el valor "00001111". Cuando reseteas el pic lo primero que tienes que hacer es verificar el valor de esa variable, y si el valor es distinto a "00001111" arrancas desdes el INICIO, y si coincide arrancas desde otra posicion.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.