Re: C: Arduino : Přesun pole bytů do proměnné unsigned long

Jindroush jindroush na seznam.cz
Středa Listopad 8 16:43:40 CET 2023


Tak?
//assuming that both RX and DATA have same endianness and length
DATA = *((unsigned long*)&RX);

On 08.11.2023 16:25, Jirka Mww wrote:
> Dobrý den,
>
> zase bych měl takový začátečnický dotaz : Řeším komunikaci s měničem 
> Goodwe po RS485.
> Jsem schopen vyčíst kteroukoli dvojici  registrů do pole bytů , 
> řekněme RX[1..4].  Potřebuji z toho ale naplnit proměnnou unsigned 
> long DATA tj. 32 bitů dlouhou. Samozřejmě postupné načítání
> jednotlivých bytů a jejich posun po 8 bitech , nebo násobení 256, 
> umím, ale chtěl
> bych to zrychlit přímým přesunem jednotlivých bytů do příslušné pozice 
> v té proměnné
> DATA. V poli RX[1..4] jsou byty ve správném pořadí, tak jak
> budou v té proměnné DATA. Chtěl bych použít něco jako Memcpy, ale 
> nevím, jak to napsat.
> V assembleru by to bylo snadné ((:: Můžete prosím někdo poradit ?
>
-- 
Jindroush<jindroush na seznam.cz>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231108/eb5a3d31/attachment.htm>


Další informace o konferenci Hw-list