Arduino - 32 bitu promenna ze 4 byte

Pavel Hudeček edizon na seznam.cz
Neděle Prosinec 15 17:18:49 CET 2024


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

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.

PH


Dne 15.12.2024 v 16:59 Martin Locker napsal(a):
> Za předpokladu, že je to 8-bitové arduino a data jsou little endian, 
> tak třeba takto:
>   long x;
>   memcpy(&x, &RX[7], 4);
> nebo
>   long x = *((long*)&RX[7]);
>
> Martin Locker
>
>
> ----- Původní zpráva -----
> ------------------------------------------------------------------------
> Odesilatel: Jirka Mww (jirka.mww na gmail.com)
> Datum: 15/12/2024 16:22
> Příjemce: HW konference (hw-list na list.hw.cz)
> Předmět: Arduino - 32 bitu promenna ze 4 byte
>
> dobr7 den,
>
> zase bych potreboval poradit :  Mam 4 byte v poli  RX[7]  az RX[10] 
>  (prijata modbus zprava)
> 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 ((::
> Zdravi
> Jirka Sloupenský  OK1MWW
> ------------------------------------------------------------------------
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.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/20241215/0bea4b34/attachment.htm>


Další informace o konferenci Hw-list