Arduino - 32 bitu promenna ze 4 byte

Jirka Mww jirka.mww na gmail.com
Pondělí Prosinec 16 15:40:04 CET 2024


No pro Arduino mega2560 jsem ty funkce nenašel. Vypadá to , že zůstanu u
těch shiftů.

Dne po 16. 12. 2024 14:18 uživatel Miroslav Mraz <mrazik na volny.cz> napsal:

> Tyhle funkce sice existují, ale v bare-metal dost problematicky.
> Předpokládá to síťování a to není úplně běžné. Třeba v newlib je to
> zašité v machine/endian.h a samo sebou vše vede přímo na
> __builtin_bswap32, příp. __builtin_bswap16 o kterém jsem se zmínil
> minule. Takže když to použijete rovnou, nemusíte hledat hlavičku, která
> by měla být podle manuálu arpa/inet.h. Pro PC tam skutečně je, ale
> definice těch funkcí je stejně někde jinde (netinet/in.h nebo jinde).
>
> Je to zkrátka bordel.
>
> Mrazík
>
> On 15. 12. 24 23:47, Petr Labaj wrote:
> > Protože se po síti často pohybují jiní indiáni než bydlí v počítačích,
> > tak už odjakživa (co existují sítě) existují funkce ntohs, htons, ntohl,
> > htonl.
> > Je to zkratka z network-to-hardware-short, ... totéž opačně a totéž pro
> > long.
> > Jsou snad vždy a všude (od AVR po superpočítače od IBM), a jsou vždy
> > správně pro danou platformu a maximálně zoptimalizované, protože v
> > síťovém programování se to používá furt.
> > Network order je vždy Big Endian.
> >
> > Takže Vaše použití by pak vypadalo nějak takto:
> > PowerIO = ntohl (*(uint32_t *) (RX_Data+7));
> >
> > PL
> >
> _______________________________________________
> 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/20241216/84e8d1c4/attachment.htm>


Další informace o konferenci Hw-list