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