Arduino - 32 bitu promenna ze 4 byte

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


Vypadá to, že to union by mohlo fungovat, nenapadlo mě to, ještě jsem to
nikdy nepoužil.
díky za rady.

Zdravi
Jirka Sloupenský  OK1MWW


ne 15. 12. 2024 v 17:23 odesílatel Jirka Mww <jirka.mww na gmail.com> napsal:

> 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/7ded1bc8/attachment.htm>


Další informace o konferenci Hw-list