Reading TIMER0 kā skaitītājs?

N

nigelmercier

Guest
Es vēlos izmantot TIMER0 kā skaitītājs, vēlams 16-bit, skaitot ārējie impulsi uz PIC18F2550 T0CKI pin.

Man ir noteikti T0CON = 0b10101000;

Kā es varu izlasīt counter vērtības?Vai man ir jāizmanto skaits = ((256 * TMR0H) TMR0L), vai ir veids, kā lasīt 16-bitu vērtības tieši?

Un ko par atgriezi taimeri?

Tas ir kods, es esmu manā pārtraukt radošas.Ideja ir tāda, ka es izlasīju TIMER0 ik pēc sešām sekundēm, uz tachRead (skatīt pēdējo bloku kods):Kods:

par spēkā neesošu pārtraukt ()

(/ / ISR Fosc / 4 = 2MHz (periods 0.5uS), prescaler 16, pārtraukt @ 256 x 16 x 0,5

ja (TMR2IF_bit)

(

intCount ; / / pieauguma pārtraukt counter

PORTA.F2 =! PORTA.F2; / / DEBUG pārslēgtos uz tach testiem (saistīti ar T0CKI pin)ja (intCount> = (488)) / / 256 x 16 x 0.5uS x 488 ir apmēram 1 sekunde @ 8MHz

(

IntLED = 1; / / ieslēgt pārtraukt darbību, LED

oddEven = oddEven;! / / toggle nepāra / pat otro karogu uz mirgojošs displejs

intCount = 0; / / reset pārtraukt countertime6s ;

ja (time6s> = 6) / / lasīt TMR0 counter & update taimeri ik pēc 6 sekundēm

(

time6s = 0;

tachRead = ((256 * TMR0H) TMR0L); / / tach lasījums no TIMER0 par TOCKI tapas

TMR0H = 0;

TMR0L = 0;

[Drēbnieks]
 

Welcome to EDABoard.com

Sponsor

Back
Top