Keil ilmoitus Apua!

P

Picstudent

Guest
Hai,
Vuonna Timer2 ISR olen unsigned intiger muuttuja.
Miten minä voin rinnastaa alempi tavun muuttuja TL2 ja ylemmän tavu on TH2.
niin että voin käsitellä muuttujaan ajastimen arvo
Uskon Keil on saanut method.not varma.
Ole hyvä ja ehdottaaKiitos vastauksesta
Pahoittelemme virhettä.Kysymykseni oli täysin sekava.
Oikeastaan ulkoista keskeytystä port3.6, haluan lukea ajastin 2 arvo tulee muuttujan. (TH2 ja TL2).
varmaan Julistan muuttuja
unsigned int timer2_val;
Miten voin siirtää TL2 ja TH2 huomioon alemman ja ylemmän näykkiä ja timer2_val, niin että voin käsitellä Timer2 arvon yksi muuttuja.
Olen aloittelija ja C.
Kiitoksia jälleen

Picstudent
Last edited by Picstudent on 26 marraskuu 2004 8:48, muokattu 1 kertaa yhteensä

 
Hei,

kokeile tätä:unsigned int var, tmpHI, tmpLo;

tmpHi = var & 0xFF00;
tmpHi>> = 8;

tmpLo = var & 0x00FF;

TL2 = tmpLo;
TH2 = tmpHi;Ystävällisin terveisin.Mr.Cube

 
Jos olen ymmärtänyt hyvin, sinulla on TH2 ja TL2 ja haluat tehdä yhden kokonaisluvun muuttujan näistä kahdesta.unsigned int timer2_val;

timer2_val = TH2 * 256 TL2;

tai

unsigned int tmp;

tmp = TH2 <<8;

timer2_val = tmp TH2Mr.Cube

 
Hei,

kokeile tätä:

# define HIGHBYTE 0
# define LOWBYTE 1

unionista
(
unsigned int timer16;
unsigned char timer8 [2];
)
ajastimen

timer.timer16 = 0x1234, / / 16 bitin arvo
TH2 = timer.timer8 [HIGHBYTE] / / highbyte ja 16 bitin arvo
TL2 = timer.timer8 [LOWBYTE] / / lowbyte ja 16 bitin arvo

Huomaa, että jos käytät tätä koskevan PIC HIGHBYTE on määritelty 1 ja LOWBYTE on määritelty 0.

ystävällisin terveisin

 
Picstudent kirjoitti:

Hai,

Miten voin siirtää TL2 ja TH2 huomioon alemman ja ylemmän näykkiä ja timer2_val, niin että voin käsitellä Timer2 arvon yksi muuttuja.

Picstudent
 

Welcome to EDABoard.com

Sponsor

Back
Top