Salut,
je veux calculer le temps entre la montée du première front (porta.f0) et la montée du second front(porta.F1), l'écran LCD affiche toujours 30.999 3 NAN
quelqu'un peut m'aider à trouver le problème.
j'utilise le pic 16F677 avec 10mhz
Code:char tim_l=0; char tim_h=0; unsigned int Timer_1=0; float Timer_2=0; char Timer_txt[6]; void main() { T1CON.F7=1; T1CON.TMR1GE=1; T1CON.F4=0; T1CON.F5=0; ansel=0x00; anselh=0X00; TRISC =0x00; trisa.f0=1; trisa.f1=0; Lcd_Init(&PORTC); Lcd_Cmd(LCD_CLEAR); Lcd_Cmd(LCD_CURSOR_OFF); while(1) { TMR1L=0; TMR1H=0; if((PORTa.F0==1)||(porta.f1==1)){T1CON.TMR1ON=1;} if((porta.f1==0)&&(porta.f1==0)){T1CON.TMR1ON=0;} Timer_1 = TMR1H; Timer_1 = Timer_1 << 8; Timer_1 = Timer_1 | TMR1L; floatToStr(Timer_1,Timer_txt); Lcd_Out(1,1,Timer_txt); } }
-----