Hola
simplifique todo como indicaros ustedes,
al final deje la variable que incrente solo a la entrada de interrupcion
y si detecta el 250 que me imprima en consola el valor de tm0
y eso lo hace y lo del led tambien quite lo del fast_io.
chicos hemos ganado el primer asalto.
pero esto continua.
asi quedo el codigo:
int8 tm0;
#INT_TIMER0
void prueba_timer0(void){
output_high(PIN_B6);
tm0=tm0+1;;
}
/*
#INT_TIMER1
void prueba1(void){
//output_high(PIN_B7);
tm1=tm1+1;
printf("\n\r tm1: %u"tm1);
}
*/
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(adc_off);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_8_bit);
//setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab
// TODO: USER CODE!!
//set_timer0(0); //retardo de led
//set_timer1(0); //retardo inc proceso
enable_interrupts(int_timer0);
disable_interrupts(int_timer1);
enable_interrupts(global);
While(true){
//enable_interrupts(int_timer0);
//printf("\n\r tm0: %u"tm0);
if(tm0>=200){
output_toggle(PIN_B6);
printf("\n\r tm0:%u "tm0);
tm0=0;
}
/*
if(proceso==1){
numero1=numero1+1;
printf("\n\r proceso:0 numero1: %d timer0: %d"numero1,timer0);
//set_timer0(0);
output_low(PIN_B7);
}
if(proceso==2){
numero2=numero2+1;
printf("\n\r proceso:2 numero2: %d timer0: %d"numero2,timer0);
//set_timer0(0);
output_low(PIN_B7);
}
if(proceso==3){
numero3=numero3+1;
printf("\n\r proceso:0 numero3: %d timer0: %d"numero3,timer0);
//set_timer0(0);
output_low(PIN_B7);
}
if(proceso>3){
//proceso=0;
set_timer0(255); //rebasa a 10ms
set_timer1(15536); //rebasa a 10ms
}
else{
printf("\n\r proceso= %d"proceso);
}
*/
}//fin while
}
continuamos