pomoooooc

Andy Jancura andy_jancura
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;

No prave si urobil z 0-511 cislo bud 0-1 alebo 0-255. A to si 6 krat 
rotoval, resp. delil 64. Takze toto asi nie je ta spravna cesta. Vysledok 
bude zalezat na tom, ako sa sprava Keil pri konverzii int - char.



>pripadne:
>
>y=(byte)(x>>6)& 0xff;

Toto by malo uz byt v poriadku. Ale zase zalezi na tom ako Keil konvertuje 
int - char.



>kdyby to bylo stale zatvrzele tak betonove reseni by melo byt prez uniony
>(pokud to keil umi).

No Keil je vraj ANSI C prekladac. Tak preco nie

>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;
>
>


A.

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at 
http://profiles.msn.com.







Další informace o konferenci Hw-list