Adresace přes pointer
Martin Záruba
swz na volny.cz
Čtvrtek Říjen 26 12:41:38 CEST 2023
Tak s tím teď taky bojuji a něco dělám špatně. Mám strukturu, pro
jednoduchost takto
structtDATA {
int16_tx;
int16_ty;
}DATA;
byte buf[2];
uint16_t ADRESA;
Potřebuji do ní zapisovat tak, jako by to bylo pole, tedy jakoby x bylo
DATA[0] a y bylo DATA[1].
Napsal jsem to takto:
int16_t*ADATA=(int16_t*)&DATA+ADRESA*2;
*ADATA=buf;
A očekával jsem, že jestliže pointer ADATA je typu int16_t, bude se to
chovat tak, že pokud do ADRESA dám 0 zapíšou se dva byte z buf do
proměnné x, pokud dám do ADRESA 1, zapíšou se do y.
Ale nefunguje to. Co je blbě?
Je mi jasné, že asi jednodušší je použít memcpy, ale já bych rád věděl,
co dělám blbě.
--
Martin Záruba
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231026/0160f2b8/attachment.htm>
Další informace o konferenci Hw-list