[elektro] C - memset
potyo
potyo.ada at gmail.com
Sat Feb 13 11:34:25 CET 2016
sizeof(struktura) kell mindig, mert ez adja meg azt, hogy a memóriában
mekkora területet foglal az adott struktúra. A változó neve a kezdőcím, és
onnan sizeof() mennyiségű bájtot foglal el az adott szerkezet. Ha eepromba
másolod, akkor az eepromban is lesznek nem használt bájtok ugyanúgy, hacsak
nem használod a struktúrán a már említett packed módosítót, vagy nem
rendezed át a struktúra elemeit kézzel úgy, hogy ne legyenek lyukak benne.
Mondjuk 8 biten nemnagyon voltak ilyen gondok :-))
2016. február 13. 11:24 uprogc . írta, <uprogc at gmail.com>:
> Mostmar tudom,...memsetnel sizeof-ot kell hasznalni. Erdekes ez. Mert pl ha
> at akarod a struktura tartalmat byteonkent (pl. i2c eepromba) masolni,
> akkor 50 byteot masolsz at vagy sizeof (struktura) byteot ?:)
>
> 2016-02-13 12:18 GMT+02:00 SZIGETI Szabolcs <szigiszabolcs at gmail.com>:
>
> > Hali!
> >
> > Ez így normális. Pl. A receiveDelay1előtt valószínűleg van kitöltés,
> hogy 4
> > bájt határra essen és 32 bites adatbusszal egy ciklus alatt lehessen
> > kezelni. Az is lehet, hogy a tagok sorrendjének átrenezésével (végén
> > legyenek a páratlan számú 8 bites adatok) változni fog a méret. Stb.
> >
> > Szabolcs
> > 2016.02.12. 14:21 ezt írta ("uprogc ." <uprogc at gmail.com>):
> >
> > Sziasztok.
> >
> > Ez bizony nem 50 byte sizeof-fal. GCC, PCn.
> >
> > typedef struct _FN_SaveToRTC_RAM_t {
> > int8_t link_addr_datarate;
> > int8_t link_addr_txpower;
> > uint16_t link_addr_chmask;
> > uint8_t link_addr_nbRep;
> > int8_t rx2Channel_DR ;
> > uint32_t rx2Channel_Freq ;
> > int8_t rx1DrOffset;
> > uint32_t receiveDelay1;
> > uint32_t receiveDelay2;
> > uint32_t chParam_freq;
> > int8_t chParam_drRange_value;
> > uint32_t w1_bandwidth;
> > bool w1_cont;
> > uint32_t w2_bandwidth;
> > bool w2_cont;
> > uint32_t DownLinkCounter;
> > uint32_t UpLinkCounter;
> > uint32_t RxWindow1Delay;
> > uint32_t RxWindow2Delay;
> > }FN_SaveToRTC_RAM_t;
> >
> > Udv.
> > Szabi
> > -----------------------------------------
> > elektro[-flame|-etc]
> > -----------------------------------------
> > elektro[-flame|-etc]
> >
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list