Re: Poslání struktury na Ethernet
Martin Záruba
swz na volny.cz
Pondělí Říjen 23 09:27:31 CEST 2023
Dík, už je to jasné. Zase jsem nemyslel.
Martin Záruba
Dne 22.10.2023 v 10:39 Jindroush napsal(a):
> 1) neposilate pointer, ale strukturu. Spravne by melo byt (byte*) &DATA1
> 2) hledate "union", ale nejsem si jist, jestli je tady potrebny/vhodny
> (diskuse k uzitecnosti unionu napr. zde
> https://stackoverflow.com/questions/252552/why-do-we-need-c-unions )
>
> On 22.10.2023 9:50, Martin Záruba wrote:
>>
>> pro zápis dat pomocí knihovny Ethernet.h používám příkaz
>> client.write((byte*)DATA, DELKA); protože pole DATA je uint16_t.
>>
>> Jenže já bych potřeboval, aby DATA byla struktura, typu
>>
>> struct tDATA1 { int16_t DATA[92]; int16_t DATA2[92]; }; struct tDATA1
>> DATA1;
>>
>> příkaz
>>
>> client.write((byte*)DATA1, DELKA);
>>
>> hlásí chybu
>>
>> Compilation error: invalid cast from type 'tDATA1' to type 'byte*
>> {aka unsigned char*}'
>>
>> Jak to napsat, abych mohl poslat strukturu a nemusel jí nejpre
>> zkopírvat pomocí strcpy do pole byte, protože pak to zabere
>> dvojnásobek paměti. (struktura je mnohem větší, než v příkladu)
>>
>> Neexistuje v C něco jako ABSOLUTE v Pascalu, kde dvěma proměnným
>> přiřadím stejné místo v paměti?
>>
>> --
>>
>> Martin Záruba
>>
>> _______________________________________________
>> HW-list mailing list - sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> --
> Jindroush<jindroush na seznam.cz>
>
> _______________________________________________
> HW-list mailing list - sponsored bywww.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/20231023/a078d977/attachment-0001.htm>
Další informace o konferenci Hw-list