<div dir="auto">Díky všem za rady, ona ta řešení mají každé nějakou výhodu a nevýhodu v celkovém konceptu. Ještě si s ťím pohraju a nějaký způsob vyberu </div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Dne ne 15. 12. 2024 18:19 uživatel Jaroslav Buchta <<a href="mailto:jaroslav.buchta@hascomp.cz">jaroslav.buchta@hascomp.cz</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
  
  <div>
    <div>A jak vypada preklad do assembleru,
      pokud je videt?</div>
    <div>PowerIO = ((<span style="color:rgb(67,79,84)">uint32_t)</span><span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">7</span>] <<24 <span style="color:rgb(67,79,84)">) | </span>((<span style="color:rgb(67,79,84)">uint32_t)</span><span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">8</span>] <<16 <span style="color:rgb(67,79,84)">) | </span>((<span style="color:rgb(67,79,84)">uint32_t)</span><span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">9</span>] <<8 <span style="color:rgb(67,79,84)">) | </span>((<span style="color:rgb(67,79,84)">uint32_t)</span><span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">10</span>] <<0 <span style="color:rgb(67,79,84)">);</span></div>
    <div><span style="color:rgb(67,79,84)">Ale
        je mozne, ze se to prelozi uplne stejne. Uz nevim u ceho, ale
        kdyz jsem to kdysi zkoumal, prekladac to pochopil a nahazel byty
        rovnou na prislusna mista. Ted uz takove detaily neresim, at si
        to prelozi jak chce s dnesnimi vykony a velikosti pameti.<br>
      </span></div>
    <div><span style="color:rgb(67,79,84)"><br>
      </span></div>
    <div>Ja bych to spis udelal takhle:<br>
    </div>
    <div><br>
    </div>
    <div>Dne 15.12.2024 v 17:29 Jirka Mww
      napsal(a):<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>Vypadá to, že to union by mohlo fungovat, nenapadlo mě to,
          ještě jsem to nikdy nepoužil. </div>
        <div>díky za rady. </div>
        <div><br>
        </div>
        <div>
          <div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Zdravi<br>
            Jirka Sloupenský  OK1MWW</div>
        </div>
        <br>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">ne 15. 12. 2024 v 17:23
          odesílatel Jirka Mww <<a href="mailto:jirka.mww@gmail.com" target="_blank" rel="noreferrer">jirka.mww@gmail.com</a>>
          napsal:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div dir="ltr">
            <div>To co funguje je tohle : </div>
            <div><br>
            </div>
            <div>
              <div style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre-wrap"><div>PowerIO = <span style="color:rgb(67,79,84)">(((((</span><span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">7</span>] <<<span style="color:rgb(0,92,95)">8</span> <span style="color:rgb(67,79,84)">)</span> + <span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">8</span>]<span style="color:rgb(67,79,84)">)</span> <<<span style="color:rgb(0,92,95)">8</span><span style="color:rgb(67,79,84)">)</span> + <span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">9</span>]<span style="color:rgb(67,79,84)">)</span> << <span style="color:rgb(0,92,95)">8</span><span style="color:rgb(67,79,84)">)</span> + <span style="color:rgb(211,84,0)">RX_Data</span>[<span style="color:rgb(0,92,95)">10</span>];</div><div>to od pana Lockera nefunguje, překladačem to projde, ale dává to nesmyslně vysoké číslo.</div><div> </div><div>
</div></div>
            </div>
            <div>
              <div dir="ltr" class="gmail_signature">Zdravi<br>
                Jirka Sloupenský  OK1MWW</div>
            </div>
            <br>
          </div>
          <br>
          <div class="gmail_quote">
            <div dir="ltr" class="gmail_attr">ne 15. 12. 2024 v 17:18
              odesílatel Pavel Hudeček <<a href="mailto:edizon@seznam.cz" target="_blank" rel="noreferrer">edizon@seznam.cz</a>>
              napsal:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              <div> A pokud je to opačně, tak ten long dát do unionu s
                polem bajtů a nakopírovat po jednom ve správném pořadí.<br>
                <br>
                Přesnější rady by mohly být, kdyby byl k dispozici ten
                kód co fungoval a ten co nefungoval. Možná tem jenom
                někde chyběl &, možná tam indiáni bojujou.<br>
                <br>
                PH<br>
                <br>
                <br>
                <div>Dne 15.12.2024 v 16:59 Martin Locker napsal(a):<br>
                </div>
                <blockquote type="cite">
                  <div dir="ltr" style="font-size:13px">
                    <div>Za předpokladu, že je to 8-bitové arduino a
                      data jsou little endian, tak třeba takto:</div>
                    <div id="m_-3364931082051133303m_-480696967389547390m_-2891749301125180376isPasted">  long x; </div>
                    <div>  memcpy(&x, &RX[7], 4);</div>
                    <div>nebo</div>
                    <div>  long x = *((long*)&RX[7]);</div>
                    <div><br>
                    </div>
                    <div>Martin Locker</div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                    <div dir="LTR" style="font-size:13px;font-family:Roboto,Tahoma,Helvetica,sans-serif;line-height:normal">
                      <div style="margin:0px;font-family:Roboto,Tahoma,Helvetica,sans-serif;font-size:13px;font-weight:300;line-height:150%;letter-spacing:normal;color:rgb(51,51,51)">
                        <div style="display:none;margin:0px;font-family:Roboto,Tahoma,Helvetica,sans-serif;font-size:13px;font-weight:300;line-height:150%;letter-spacing:normal;color:rgb(51,51,51)">-----
                          Původní zpráva -----</div>
                        <hr size="1" width="100%" style="width:100%;padding:0px;margin:10px 0px;color:rgb(136,136,136);background-color:rgb(136,136,136);border-color:rgb(221,221,221)">Odesilatel:
                        Jirka Mww (<a href="mailto:jirka.mww@gmail.com" style="font-family:Helvetica,sans-serif;font-size:12px;font-weight:300;line-height:150%;color:rgb(0,136,204);text-decoration:none" target="_blank" rel="noreferrer">jirka.mww@gmail.com</a>)<br>
                        Datum: 15/12/2024 16:22<br>
                        Příjemce: HW konference (<a href="mailto:hw-list@list.hw.cz" style="font-family:Helvetica,sans-serif;font-size:12px;font-weight:300;line-height:150%;color:rgb(0,136,204);text-decoration:none" target="_blank" rel="noreferrer">hw-list@list.hw.cz</a>)<br>
                        Předmět: <span style="font-family:Helvetica,sans-serif;font-size:12px;line-height:150%;color:rgb(51,51,51);text-decoration:none;font-weight:bold">Arduino
                          - 32 bitu promenna ze 4 byte</span></div>
                      <br>
                      <div>
                        <div dir="ltr">
                          <div>dobr7 den,</div>
                          <div><br>
                          </div>
                          <div>zase bych potreboval poradit :  Mam 4
                            byte v poli  RX[7]  az RX[10]  (prijata
                            modbus zprava) </div>
                          <div>a potrebuji z nich udelat 32 bit
                            proměnnou (log int).   Postupne nacitani a
                            posuny o 8 bitu  do leva mi funguje, ale
                            radeji bych to nejak prekopiroval rovnou,
                            kvuli rychlosti.  Zkousel jsem pouzit memcpy
                            , ale asi to delam blbe, muzete mi dat
                            nejaky tip , jak to udelat ?  V assembleru
                            bych to umel ((::</div>
                          <div>  </div>
                          <div>
                            <div class="gmail_signature" dir="ltr">Zdravi<br>
                              Jirka Sloupenský  OK1MWW</div>
                          </div>
                        </div>
                        <hr>_______________________________________________<br>
                        HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank" rel="noreferrer">www.HW.cz</a><br>
                        <a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a><br>
                        <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank" rel="noreferrer">http://list.hw.cz/mailman/listinfo/hw-list</a></div>
                    </div>
                  </div>
                  <br>
                  <fieldset></fieldset>
                  <pre>_______________________________________________
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank" rel="noreferrer">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank" rel="noreferrer">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
                </blockquote>
                <br>
              </div>
              _______________________________________________<br>
              HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer" target="_blank">www.HW.cz</a><br>
              <a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a><br>
              <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
            </blockquote>
          </div>
        </blockquote>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank" rel="noreferrer">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank" rel="noreferrer">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </div>

_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>