PIC casova konstanta 1 sec
Snail Instruments
snail@snailinstruments.com
Úterý Červen 26 09:50:26 CEST 2007
void interrupt() {
INTCON &= (~(1<<T0IF)&0xFF); // V assemlberu BCF INTCON,T0IF
timeticks++;
if (timeticks==4000){
RPM=RPMacc;
timeticks=0;
RPMacc=0;
fNewRPM=TRUE;
}
}
main(){
while(1){
if (hrana signalu) RPMacc++; //Pokud je RPMacc
vice nez 1 byte, muse se na
//inkrementaci
zakazat preruseni!!
if (fNewRPM){
fNewRPM=FALSE;
nova hodnota otacek je v promenne RPM - zde zpracovat
}
}
}
At 09:16 AM 6/26/07, you wrote:
>Dejte mi kousek zdrojaku jak mam udelat ten generator 1 sec, co
>nejpresneji.....
>
>krystal mam 4096 kHz
>Jedna se o picku 16f627.
>a kod mam takovyto
>
>
>void interrupt() { timeticks++; INTCON = 0x20; // Set
>T0IE, clear T0IF
>
>}
>
>main OPTION_REG = 0x00; INTCON = 0xA0; // Enable TMRO
>interrupt
>
>
>jednu sekundu odchytnu jako
>if (timeticks>(sekundaticks+4000)) {//dekunda
> sekundaticks=timeticks;
> }
>zatim mi 4000 casove vychazi pres 2 sekundy.
Další informace o konferenci Hw-list