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