zahada delky struktury GCC
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Pondělí Březen 11 20:21:30 CET 2024
union...
jde o to, ze potrebuju, aby struktura mela vzdy 1024B a CRC na konci,
dorovnava to ba a cekal jsem ze problem bude jen v pripade, kdyz se tam
funkcni polozky uz nevejdou...
uz zacinam chapat, proc se union nema pouzivat a udelam to casem jinak.
Dne 11.03.2024 v 20:18 Jindroush napsal(a):
> Nechapu? Zamenite dve 32bitove za dve 64bitove (double, FP64), takze
> mate zabrano o 64bitu - 8 bajtu vice, coz odpovida 1032-1024? Divim
> se, kde je co k diveni? :-) Nebo jsem neco nepochopil.
> J.
>
> On 11.03.2024 19:41, Jaroslav Buchta wrote:
>> Mejme tyto struktury
>>
>> #define CFG_DATA_LEN 1024
>> #define GPS_FIXP_MULT (10e7)
>>
>> typedef struct
>> {
>> char first_read[9];
>> uint8_t res_valid;
>> uint8_t reserved;
>> char user_card[9];
>> char user_phone[13];
>> char res_time[34];
>> } app_data_reservation_t;
>>
>>
>> typedef struct {
>> union {
>> struct {
>> uint32_t index; // index of
>> configuration, count of writes
>> int gsm_preffered_speed; // module GSM
>> baudrate
>> char gsm_apn[32]; // module GSM APN
>> char car_ident[8]; // car
>> identification
>> char car_aeskey[65]; // 256b -> 64
>> chars hex encoded
>> app_data_reservation_t reservation; // reservation
>> data
>> int32_t gps_last_latitude; // car last
>> known latitude, *10^7 (GPS_FIXP_MULT)
>> int32_t gps_last_longitude; // car last
>> known longitude, *10^7 (GPS_FIXP_MULT)
>> };
>> uint8_t ba[CFG_DATA_LEN - 4];
>> };
>> uint32_t crc32;
>> } app_data_cfg_t;
>>
>> Takhle je to dle ocekavani, app_data_cfg_t ma delku 1024B
>>
>> Kdyz ale pro ty GPS souradnice pouziju typ double, neni delka
>> ocekavanych 1024 ale 1032B
>>
>> Myslel jsem nejdriv, ze je to tou vlozenou strukturu ale dela to ten
>> double.
>>
>> Tusi nekdo, cim to je? Je to nejaka pro me skryta vlastnost nebo chyba?
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
Další informace o konferenci Hw-list