pomoooooc
Zdenek Dvorak
zdvorak
Středa Březen 17 11:49:08 CET 2004
neznam Keil, ale podobne problemy jsem zaznamenal i v CCS na PIC.
zkusil bych asi neco jako:
y=(byte)x>>6;
pripadne:
y=(byte)(x>>6)& 0xff;
kdyby to bylo stale zatvrzele tak betonove reseni by melo byt prez uniony
(pokud to keil umi). Asi takto:
unsigned int x; (pro x z intervalu 0 - 511)
unsigned char y;
union retype
{
unsigned int word;
struct{
unsigned char hi;
unsigned char lo;
} byte;
}w2b;
w2b.word=x/64;
y=w2b.byte.lo;
baj chaos
> unsigned int x; (pro x z intervalu 0 - 511)
> unsigned char y;
> y = x/64;
> -----Original Message-----
> From: hw-news@list.gin.cz [mailto:hw-news@list.gin.cz]On Behalf Of Jakub
> Ladman
> Sent: Monday, November 20, 2000 12:19 PM
> To: Multiple recipients of list
> Subject: pomoooooc
>
>
> Zdravim
> Tak zase neco zkousim v Keil C a narazil jsem na problem:
> Mam fci, jejiz operand je typu unsigned int a vysledek ma byt
> unsigned char.
> Operace jez ve fci probehnou, zarucuji ze se vysledek do tech 8-mi bitu
> vejdou.
>
> napr:
> unsigned int x; (pro x z intervalu 0 - 511)
> unsigned char y;
> y = x/64;
>
> ale y nikdy neobsahuje spravny vysledek, poradte prosim jak na to.
> v C jsem porad absolutni zacatecnik (v pascalu bych na to vzal
> y:=lo(x/64); )
>
> Diky
> Jakub Ladman
>
Další informace o konferenci Hw-list