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

Jirka Mww jirka.mww na gmail.com
Středa Listopad 8 16:49:40 CET 2023


Díky, tohle by se mi líbilo, jen to pole RX je delší, má pak další ještě
položky s jinými daty a pak CRC.  Nebude to vadit ?

Zdravi
Jirka Sloupenský  OK1MWW


<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Neobsahuje
žádné viry.www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

st 8. 11. 2023 v 16:44 odesílatel Jindroush <jindroush na seznam.cz> napsal:

> 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> <jindroush na seznam.cz>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231108/89576560/attachment.htm>


Další informace o konferenci Hw-list