<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=ISO-8859-2>
<META content="MSHTML 6.00.2900.3157" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV><FONT face=Arial size=2>No já ve starém Kejlu udělám přetypování na 
unsigned char a vezme si to jen 1 bajt. Když napíšu&nbsp;&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2>unsigned int b;</FONT></DIV>
<DIV><FONT face=Arial size=2>unsigned char a;</FONT></DIV>
<DIV><FONT face=Arial size=2>a=(unsigned char)b;</FONT></DIV>
<DIV><FONT face=Arial size=2>vezme si to dolní bajt. Když napíšu </FONT></DIV>
<DIV><FONT face=Arial size=2>a=(unsigned char)(b&lt;&lt;8);</FONT></DIV>
<DIV><FONT face=Arial size=2>vezme si to horní bajt a žádné rotace neprovádí. 
Ale je možné že jiná céčka chtějí něco jiného.</FONT></DIV>
<DIV><FONT face=Arial size=2>Anděl</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=spam@nagano.cz href="mailto:spam@nagano.cz">Ladislav Vaiz</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=hw-list@list.hw.cz 
  href="mailto:hw-list@list.hw.cz">HW-news</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, January 04, 2008 10:51 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: Cecko - zacatecnicka</DIV>
  <DIV><BR></DIV>A nebo použít ukazatele char* a unsigned short*. Chcete-li 
  ukazovat na konkrétní adresu jako u pascalského absolute (do SFR), tak je to 
  vhodné. Existují i proprietární rozšíření, například:<BR><BR>sdcc:<BR>sfr at 
  0x80 P0;<BR>sbit at 0x80 P0_0;<BR><BR>keil:<BR>sfr P0 = 0x80;<BR>sbit P0_0 = 
  0x80;<BR><BR>Láďa<BR><BR>Pavel Troller napsal(a): 
  <BLOCKQUOTE cite=mid20080104213012.GA18075@tangens.sinus.cz type="cite"><PRE wrap="">Zdravíĺ,
  rozumím-li tomu, hodí se Vám typ union (viz následující příkládek):

$ cat union.c

#include &lt;stdio.h&gt;

typedef struct { char lo; char hi; } chars;

typedef union {
  unsigned short number;
  chars bytes;
} un;

int main(void) {

 un my_un;

 my_un.bytes.lo = 0x55;
 my_un.bytes.hi = 0xaa;

printf("%x\n", my_un.number);

}

$ gcc -o union union.c
$ ./union
aa55

  </PRE>
    <BLOCKQUOTE type="cite"><PRE wrap="">DD,
v Ccku (konkretne Microchip C30, ale to je asi jedno) jsem toho jeste moc
nenapsal, takze se omlouvam za zacatecnicky dotaz. Da se vubec, a pokud ano,
tak jak, realizovat nekolikery pohled na stejnou pozici v pameti? 
Napriklad mam promennou:
unsigned int Sestnactibit; 

a chtel bych na totez taky koukat jako na:
typedef struct HLverze {
   unsigned char H;
   unsigned char L;
} HLverze;

HLverze SestnactHL;

V Pascalu se blahe pameti takove triky daly delat pomoci klicoveho slovicka
"absolute" ale v Cecku nemuzu prijit na to, jak to udelat.

Hlavickove soubory od Microchipu jsou presne tohohle plne, jenze tam
pouzivaji __attribute__ __sfr__, ktery to usadi na predem danou pevnou adresu
SFR registu (ta je myslim ve scriptu linkeru .gld nebo v prislusnem inc
souboru. (Namatkou vybiram priklad z p30f3012.h):

/* MODCON: Modulo Addressing Control Register */
extern volatile unsigned int MODCON __attribute__((__sfr__));
typedef struct tagMODCONBITS {
        unsigned XWM    :4;     /* X-RAGU/X-WAGU modulo addressing register
select  */
        unsigned YWM    :4;     /* Y-RAGU modulo addressing register select
*/
        unsigned BWM    :4;     /* Bit-reversed addressing register select
*/
        unsigned        :2;
        unsigned YMODEN :1;     /* Y-RAGU modulo addressing enable
*/
        unsigned XMODEN :1;     /* X-RAGU/X-WAGU modulo addressing enable
*/
} MODCONBITS;
extern volatile MODCONBITS MODCONbits __attribute__((__sfr__));


Predem diky za radu, jak tuhle zrejme trivialitu v Cecku vyresit.

Jakub Serych

_______________________________________________
HW-list mailing list  -  sponsored by <A class=moz-txt-link-abbreviated href="http://www.HW.cz">www.HW.cz</A>
<A class=moz-txt-link-abbreviated href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</A>
<A class=moz-txt-link-freetext href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</A>
    </PRE></BLOCKQUOTE><PRE wrap=""><!---->_______________________________________________
HW-list mailing list  -  sponsored by <A class=moz-txt-link-abbreviated href="http://www.HW.cz">www.HW.cz</A>
<A class=moz-txt-link-abbreviated href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</A>
<A class=moz-txt-link-freetext href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</A>
  </PRE></BLOCKQUOTE>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>HW-list mailing 
  list&nbsp; -&nbsp; sponsored by 
  www.HW.cz<BR>Hw-list@list.hw.cz<BR>http://list.hw.cz/mailman/listinfo/hw-list<BR></BLOCKQUOTE></BODY></HTML>