Y para millis:
#include <18F46K22.h>
#FUSES INTRC_IO //Oscilador interno, no CLKOUT
#FUSES PLLEN //PLL a on, reloj x 4
#use delay(clock=64000000, int=64000000)
int32 millis = 0; //Debe ser global
Void Main(){
//Configura el Timer1 para interrupción cada 1mSeg.
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
set_timer1(0xC17C); //Carga timer1 para que desborde pasado 1mSeg.
enable_interrupts(INT_TIMER1);
While(1){
int32 inicio_millis;
int32 final_millis;
millis = 0;
inicio_millis = millis;
//Nuestro código.
final_millis = millis - inicio_millis;
}
}
//*****************************************************************************
#INT_TIMER1 //Interrupción Timer1
void TIMER1_isr(void) {
set_timer1(0xC17F); //Recarga timer1
millis++; //Incrementa millis cada 1mSeg.
}