<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 gmail_quote_container"><div dir="ltr" class="gmail_attr">ne 15. 12. 2024 v 17:23 odesílatel Jirka Mww <<a href="mailto:jirka.mww@gmail.com">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><br></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">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"><u></u>
<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_-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">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">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">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">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">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">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" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>
</blockquote></div>