Keil prohlášení Help!

P

Picstudent

Guest
Hai,
V Timer2 ISR jsem nepodepsané intiger proměnné.
Jak já mohu srovnávat nižšího bytu proměnné TL2 a horní byte k TH2.
takže mohu považovat proměnnou hodnotu časovače
Myslím, že Keil má method.not jistý.
Please suggestDíky za odpověď
Omlouváme se za chybu.moje otázka byla zcela matoucí.
Vlastně na vnější přerušení od port3.6, chci přečíst časovač 2 hodnoty do proměnné. (TH2 a TL2),.
Předpokládám, že Prohlašuji, variabilní
unsigned int timer2_val;
Jak se mohu pohybovat TL2 a TH2 na dolní a horní pokoušet o timer2_val tak, že se mohu považovat Timer2 hodnoty jedné proměnné.
Jsem začátečník v C.
Thanks again

Picstudent
Naposledy upravil Picstudent dne 26.listopadu 2004 8:48, upraveno 1 celkem

 
Nazdar,

zkuste toto:unsigned int var, tmpHI, tmpLo;

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

tmpLo var = & 0x00FF;

TL2 = tmpLo;
TH2 = tmpHi;S pozdravem.Mr.Cube

 
Pokud jsem pochopil správně, máte TH2 a TL2, a chcete, aby jedno číslo proměnnou z těch dvou.unsigned int timer2_val;

timer2_val = TH2 * 256 TL2;

nebo

unsigned int tmp;

tmp = TH2 <<8;

timer2_val = tmp TH2Mr.Cube

 
Nazdar,

zkuste toto:

# define HIGHBYTE 0
# define LOWBYTE 1

union
(
unsigned int timer16;
unsigned char timer8 [2];
)
časovač;

timer.timer16 = 0x1234, / / 16 bitová hodnota
TH2 = timer.timer8 [HIGHBYTE]; / / highbyte ze 16 bitovou hodnotu
TL2 = timer.timer8 [LOWBYTE]; / / lowbyte ze 16 bitovou hodnotu

Dovolujeme si upozornit, pokud používáte tento pro PIC HIGHBYTE musí být definován jako 1 a LOWBYTE musí být definována jako 0.

s pozdravem

 
Picstudent napsal:

Hai,

Jak se mohu pohybovat TL2 a TH2 na dolní a horní pokoušet o timer2_val, takže mohu považovat Timer2 hodnoty jedné proměnné.

Picstudent
 

Welcome to EDABoard.com

Sponsor

Back
Top