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

Jirka Mww jirka.mww na gmail.com
Pátek Listopad 10 14:45:07 CET 2023


Díky za radu, asi máte pravdu, těch pár bytu navic uz unesu.
Zdravi
Jirka Sloupenský  OK1MWW


pá 10. 11. 2023 v 12:22 odesílatel Tomáš Hamouz <
konfery.tomas.hamouz na seznam.cz> napsal:

> Jestli mohu skromně poradit, udělejte tu konverzi z kompletních dat. Časem
> můžete měnič posílit a pak se nestačíte divit, co z toho leze za nesmysly.
>
> Tomáš
>
>
>
> Díky všem za rady, něco z toho určitě použiju.
> Zjistil jsem taky , že mám špatnou informaci  o pořadí registrů v tom
> měniči GOODWE, teď už mám lepší soubor.  Vzhledem k tomu, že údaj v těch
> registrech je v 1/10W,  a můj měnič víc než 5.5 kW nedává, vejde se údaj  o
> výkonu do dvou bytů ( Max 650000,  je to unsigned )  , takže ty horní byty
>  jsou stejně nuly.S tím si i  prostým posunem o 8 bitů klidně poradím.
>
> Zdravi
> Jirka Sloupenský  OK1MWW
>
> čt 9. 11. 2023 v 13:17 odesílatel Miroslav Mraz <mrazik na volny.cz> napsal:
> Napsal bych to asi takto
> static unsigned char RX_Data[] = {0, 0, 0, 0x12, 0x34, 0x56, 0x78, 0,
> 0xab, 0xcd};
> void test () {
>   uint32_t res4b = 0u;
>   memcpy (&res4b, RX_Data + 3, sizeof(res4b));
>   res4b = __builtin_bswap32  (res4b);   // pokud leze MSB jako první,
> jinak vynechat
>   printf ("test4b:0x%08lX\n", res4b);
>
>   uint16_t res2b = 0u;
>   memcpy (&res2b, RX_Data + 8, sizeof(res2b));
>   res2b = __builtin_bswap16 (res2b);    // stejně jako pro res4b
>   printf ("test2b:0x%04X\n", res2b);
> }
> Funguje to, memcpy() se tam nijak neprojeví a připadá mi to čitelnější.
> Výstup je
> test4b:0x12345678..
> test2b:0xABCD..
>
> Mrazík
>
> On 08. 11. 23 17:27, Jirka Mww wrote:
> > Teď mne ještě napadlo, že vlastně nevím, jaké je pořadí významnosti bytů
> > v tom unsignedlong. Je to tak, že nejvýznamější byte je první,
> > nebo je poslední? Jsem z toho nějaký zmatený ((::
> >
> > 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.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/20231110/3a46df8f/attachment.htm>


Další informace o konferenci Hw-list