gracias por los arreglos del codigo. a lo que me referia es que cuando pulso el boton y suelto el timer 1 tiene que cambiar el tiempo de desbordamiento, sin embargo cuando lo suelto vuelve al tiempo anterior, porque lo realise en ccs y corre bien pero quiero hacer lo mismo en hitech y no sale
te paso el codigo en ccs.
#include<16F628A.h>
#include<math.h>
#fuses NOWDT,INTRC_IO,NOMCLR
#use delay(clock=4M)
#use fixed_io(b_outputs= pin_b1, pin_b2, pin_b3, pin_b4, pin_b5, pin_b6)
#use standard_io(a)
int32 paso=23869;
int16 rps=1;
int j=0;
int32 contador (int16 rps ){
int32 num1=0;
float num2=0;
num2=65536-(1000000/(24*rps));
num1=ceil(num2);
return num1;
}
#int_TIMER1
void rev (){
//int motor [6] = {0b00100010,0b01000010,0b01000100,0b00010100,0b00011000,0b00101000};
int motor [6] = {0b00011000,0b00010100,0b01000100,0b01000010,0b00100010,0b00101000};
if (j>6){
j=0;
};
output_b(motor[j]);
j++;
set_timer1(paso);
}
void main (void){
SETUP_TIMER_1(T1_INTERNAL | T1_DIV_BY_4 );
set_timer1(paso);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
while(true){
if(input(PIN_A1)==0){
delay_ms(10);
if(input(PIN_A1)==1){
rps++;
}
}
paso=contador(rps);
}
}