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

Temas similares

19/04/2014 #1


Duracion de instrucciones en Basic
Buenas a todos, reciban una feliz semana santa a todos los compañeros del foro
les escribo para preguntar sobre como puedo medir el tiempo que dura cada instrucción al ser leida, estoy haciendo un codigo donde tengo que cuadrar que el recorrido de instrucciones dure un tiempo determinado
19/04/2014 #2

Avatar de papirrin

puedes usar un timer, pero solo sirve si no usas un PAUSE o un PAUSEUS.

enciende el modulo timer, dejas que corra tu programa y despues de la instruccion que quieras que mida lo apagas. despues ves el valor del registro TMR.

otra cosa que tienes que tomar en cuenta es que no puden ser mas instrucciones que lo que registra el timer. aproximadamente una instruccion en ensamblador es de 1uS a 4MHz(FOSC), una instruccion en BASIC puede tener varias instrucciones de ASM.
19/04/2014 #3

Avatar de Daniel Meza

marconikov dijo: Ver Mensaje
Buenas a todos, reciban una feliz semana santa a todos los compañeros del foro
les escribo para preguntar sobre como puedo medir el tiempo que dura cada instrucción al ser leida, estoy haciendo un codigo donde tengo que cuadrar que el recorrido de instrucciones dure un tiempo determinado
El tiempo que tarda una instrucción en ser leída
¿Te refieres a lo que tarda el procesador en leer la instrucción o en ejecutarla?

¿Estamos hablando de una PC o una microcontrolador?

Se más específico.

Siguiendo la idea de papirrín puedes desensamblar el código (suponiendo que te refieres a un micro) y observar las instrucciónes por las que está compuesto y en base a ello calcular el tiempo de ejecución de cada una
20/04/2014 #4


Daniel Meza dijo: Ver Mensaje
¿Te refieres a lo que tarda el procesador en leer la instrucción o en ejecutarla?

¿Estamos hablando de una PC o una microcontrolador?

Se más específico.

Siguiendo la idea de papirrín puedes desensamblar el código (suponiendo que te refieres a un micro) y observar las instrucciónes por las que está compuesto y en base a ello calcular el tiempo de ejecución de cada una
me refiero al microcontrolador, al momento de ejecutar las instrucciones; referente a lo de papurrin es decir que las intrucciones en Basic no son mas que instrucciones en assembler pero comprimidas en una sola instrucciones a la final si se recorren paso a paso, terminaran teniendo un ciclo de instruccion igual al assembler no ?
20/04/2014 #5

Avatar de papirrin

terminaran teniendo un ciclo de instruccion igual al assembler no ?
tecnicamente si, lo que hace el compilador de Basic es pasar a asambler por eso es un compilador de alto nivel.

el problema es que al compilar no deja un archivo completo del codigo en asambler para hacer la suma. por ese te sugiero que midas ese tiempo con el modulo timer, yo mencione lo del asambler para que te des una idea de como funciona.
20/04/2014 #6


podrias ser un poco mas especifico con lo del timer, es que no te capto bien
20/04/2014 #7

Avatar de papirrin

es que no puedo ser mas especifico sin saber que lenguaje/compilador y microcontrolador usas de microchip, freescale, etc.

la mayoria de los microcontroladores tienen uno varios modulos timer, los puedes ver en la ficha tecnica del micro como TMR0, TMR1, TMR2
20/04/2014 #8

Avatar de Daniel Meza

Sea cual sea el micro, la idea de papirrín es
1-Enciendes TMR con fuente de reloj interno (ciclo de instrucción)
2-Aquí van todas las instrucciones que quieres temporizar
3-Detienes TMR
4-Envías el valor del TMR hacia un puerto para visualizar el valor

Es muy importante que desactives interrupciones para que el programa corra linealmente
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.