Otra de HT-PIC

El HT-PIC tiene unos ficheros de ejemplo para implementar una funcion de delay(Delay_Ms y Delay_Us), el problema que tengo es que no estoy seguro sobre como hacerle para que los delay sean correctos dependiendo de la frecuencia de mi oscilador. Veamos lo que vengo haciendo es poner

#define XTAL_FREQ 4MHZ

en la cabecera del codigo fuente, es suficiente con esto??, cuando el MPLAB pasa a complilar no me parece que incluya la directiva(al llamar al PICC):

-DXTAL_FREQ=4MHZ

Estoy liado, perdi el manual del PICC.. alguien digame donde lo descargo.

Saludos

Reply to
FlyBackBoy
Loading thread data ...

Bueno te comento, yo no uso el MPlab, pero esa directiva no la pasa porque solo la usa el HT-PIC para hacer los calculos de las iteraciones necesarias para hacer el delay. Veamos en pocas palabras, si observas las funciones delay_ms y delay_us, veras que usan ese define para calcular el numero de ciclos que deben hacer. Por lo tanto al MPlab le es invisible porque realmente no la usa ( creo recordar que solo le pasa el asm, el cual ya viene con la directiva incluida y preparada para el numero de ciclos ).

-- "Por cierto, de sobra es conocido que no hay quien entienda lo que escriben los médicos a mano, pero resulta curioso comprobar que tampoco se les entiende al escribir a máquina." J. M. García

Saludos.

formatting link
El monstruito toma "forma", f*ck it...

Reply to
RooT

Ya aclare mi duda y ahora os expongo al grupo, consultando la ayuda del HPDPIC me fije que el modificador -D es para definir una macro desde el PICC que usa el fichero delay.h para calcular el numero de iteraciones para dar el retardo dependiendo de la frecuencia del oscilador.

El nombre del Macro es XTAL_FREQ(de ahi que al llamar al PICC hay que incluir -DXTAL_FREQ=4MHz) , pero yo me acomodo mas desde el entorno del programa MPLAB, desde MPLAB se debe poner un #define XTAL_FREQ, tal como lo suponia, pero omiti una observacion importante que se menciona en el fichero delay.h de los programas de ejemplo que vienen con el PICC. Al compilar un programa que emplee delay.h, se debe compilar empleando el nivel de optimizacion mas alto, el MPLAB por default tiene el nivel de optimizacion mas bajo, una vez realizado esto los resultados fueron satisfactorios.

Vaya que me tarde un rato en corregir el malfuncionamiento, pero finalmente logre descargar el manual del PICC (3.29MB), consultando aqui, alla y haciendo algunas pruebas con el osciloscopio obtuve los resultados esperados.

Saludos

Reply to
FlyBackBoy

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.