Arduino - 32 bitu promenna ze 4 byte

Jirka Mww jirka.mww na gmail.com
Neděle Prosinec 15 17:23:09 CET 2024


To co funguje je tohle :

PowerIO = (((((RX_Data[7] <<8 ) + RX_Data[8]) <<8) + RX_Data[9]) << 8) +
RX_Data[10];
to od pana Lockera nefunguje, překladačem to projde, ale dává to nesmyslně
vysoké číslo.

Zdravi
Jirka Sloupenský  OK1MWW


ne 15. 12. 2024 v 17:18 odesílatel Pavel Hudeček <edizon na seznam.cz> napsal:

> 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
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.czHw-list na list.hw.czhttp://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> 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/20241215/7498d040/attachment.htm>


Další informace o konferenci Hw-list