<html>
  <head>
    <meta content="text/html; charset=iso-8859-2"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Dne 14. 2. 2017 v 10:55 Hynek Sladky
      napsal(a):<br>
    </div>
    <blockquote cite="mid:58A2D426.6030506@centrum.cz" type="cite">
      <meta content="text/html; charset=iso-8859-2"
        http-equiv="Content-Type">
      <font face="Helvetica, Arial, sans-serif">Mam registr: </font>GPIOF->ODR<br>
      Ted ziskam jeho adresu: &GPIOF->ODR<br>
      Adresa = ukazatel je podle typu promenne, tedy zde na uint32_t.<br>
      Pro prekladac zmenim typ - ukazatel na byte - aby vedel, jake
      instrukce pouzit: (uint8_t*)&GPIOF->ODR<br>
      Dale napisu obecnejsi - snad i pochopitelnejsi - zapis pro pristup
      k jednotlivym bytum: ((uint8_t*)&GPIOF->ODR)[0] = 0x12;<br>
      <br>
      Aby se s tim pracovalo jednoduseji, tak z toho muzeme udelat
      makro:<br>
      #define PORT_BYTE(port) ((volatile uint8_t*)&(port))<br>
      Pak muzu psat jednodussi zapis:<br>
      PORT_BYTE(GPIOF->ODR)[0] = 0x12;<br>
      A muzu to vyuzit take pro dalsi porty bez nutnosti definovat si
      nove a nove definice...<br>
      Makro se da upravit tak, aby cislo bytu bylo take jako parametr:<br>
      #define PORT_BYTE(port,byte) ((volatile
      uint8_t*)&(port))[byte]<br>
      PORT_BYTE(GPIOF->ODR,0) = 0x12;<br>
      <br>
      Hynek Sladky<br>
      <font face="Helvetica, Arial, sans-serif"><br>
      </font></blockquote>
    <font face="Helvetica, Arial, sans-serif">diky Fanda</font><br>
    <blockquote cite="mid:58A2D426.6030506@centrum.cz" type="cite"><font
        face="Helvetica, Arial, sans-serif"> <br>
      </font>
      <div class="moz-cite-prefix">Dne 14.2.2017 10:23, Fanda Kopriva
        napsal(a):<br>
      </div>
      <blockquote
        cite="mid:83143f24-32c9-6cb2-9b9d-28c91bf7c730@elektronikavyvoj.cz"
        type="cite"> <br>
        *(volatile uint8_t *)&GPIOF->ODR = 0x12; <br>
        diky za nakopnuti <br>
        Ale tyto konstrukce jsou pro mne bohuzel neprehledne a zavani mi
        temnou magii.:-) <br>
        Stareho psa novym ...atd. <br>
        nakonec jsem si dodefinoval registry s bytovym pristupem a
        funguje to. <br>
        <br>
        sfr unsigned char volatile GPIOF_ODRL absolute  0x40021414; <br>
        sfr unsigned char volatile GPIOF_ODRH absolute  0x40021415; <br>
           GPIOF_ODRH = 0x12 <br>
        <br>
           fanda <br>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <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><br>
    </p>
  </body>
</html>