Witam,
jako, że nie jestem b. dobry w C przychodzę z moim problemem do was :)
Mam tablice
uint8_t buffer[511];
tą tablicę przesyłam do funkcji przez wskaźnik...
funkcja(uint8_t *buf);
O ile z tego korzystam jak z tablicy
czyli
uint16_t sPort = (buf[0] << 8) | buf[1];
to wszystko działa...
teraz chciałbym odzwierciedlić to w strukturze...
więc zadeklarowałem sobie
typedef struct tcp{
uint16_t src_port;
uint16_t dst_port;
...
} tcp;
w funkcji deklaruję wskaźnik:
tcp *rx = (tcp*) b;
i tu mam problem... :P
próbuję odczytać rx->src_port wychodzi mi dziwaczna liczba
jeżeli natomiast zrobię to bezpośrednio na "buf"w ten sposób:
uint16_t sport = (buf[0] << 8) | buf[1];
to działa..
Może ktoś wytłumaczyć co robię nie tak ?