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