<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">S céčkem taky někdy bojuju, ale taky
někdy vyhrávám :-) Podobnou věc jsem řešil přes pointery. Bylo to
pole proměnných, ale to je jedno. Načtení z flash, (vyhrazená
stránka z code se u silabsu dá použít jako eeprom pro data) kterou
dokážu číst jen po bajtu, přes pointer zapisuju do pole. Na
stejnou adresu umístím počátek dvoubajtového (nebo u vás
čtyřbajtového) pole a tam si to pak přečtu. Překladač mi sice dává
varování, ale na to jsem si už zvyk :-) Ale dělá to přesně to, co
chcete. Třeba to ten union přeloží taky takhle elegantně, ale
nevím.<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Anděl</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Dne 15.12.2024 v 17:36 Martin Locker
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:4d462fec73df04a452fed5d4f66c66fa@vosrk.cz">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div class="iw_mail" dir="ltr" style="font-size: 13px;">
<div>Protože nebyla splněna podmínka, kterou jsem uváděl, tj.
little endian. Dle uváděného funkčního kódu je to uloženo big
endian.</div>
<div>Takže jednoduché zkopírování nemůže fungovat. Je nutné byty
přerovnat, takže buď ty shifty, union (viz. níže) nebo ten
asembler.</div>
<div><br>
</div>
<div>varianta union:</div>
<div><br>
</div>
<div>// ----------------------------</div>
<div>union TData {</div>
<div> long x;</div>
<div> byte a[4];</div>
<div>};</div>
<div><br>
</div>
<div>TData data;</div>
<div>data.a[0] = RX_Data[10];</div>
<div id="isPasted">data.a[1] = RX_Data[9];</div>
<div id="isPasted">data.a[2] = RX_Data[8];</div>
<div id="isPasted">data.a[3] = RX_Data[7];</div>
<div id="isPasted">// ----------------------------</div>
<div><br>
</div>
<div>v data.x je vysledné číslo (doufám, že tam není chybka,
píšu to od stolu)</div>
<div><br>
</div>
<div class="">
<div>Martin Locker</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>