Pole v C
Duąan Slavětínský
dslav3@treeinfo.cz
Středa Listopad 26 14:27:26 CET 2008
Asi trochu od vÄ›ci, spĂš jen pro zajĂmavost.
ProÄŤ pouĹľĂváte (*m).neco a ne m->neco?
Dušan SlavÄ›tĂnskĂ˝
From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On Behalf Of Zdeněk Materna
Sent: Wednesday, November 26, 2008 2:03 PM
To: HW-news
Subject: Pole v C
ZdravĂm,
mám takový problém v C.
Ve struktuĹ™e mám deklarovanĂ© pole e (zatĂm) pevnĂ© velikosti. Mám ukazatel na strukturu, ten pĹ™edávám jako parametr funkci, a chci do pole ukládat hodnoty, ze kterĂ˝ch budu poÄŤĂtat klouzavĂ˝ prĹŻmÄ›r. V e_arr_len je uloĹľená dĂ©lka pole.
Takto je deklarované pole (ve struktuře):
volatile int16_t e[5];
Toto nefunguje:
for(uint8_t i=0; i<((*m).e_arr_len-1);i++)
(*m).e[i] = (*m).e[i+1];
A toto ano:
(*m).e[0] = (*m).e[1];
(*m).e[1] = (*m).e[2];
(*m).e[2] = (*m).e[3];
(*m).e[4] = ((*m).req_speed - (*m).act_speed);
SamozĹ™ejmÄ› bych radši pouĹľĂval for, protoĹľe je to ÄŤistšà a navĂc chci to pole alokovat dynamicky. Ale aĹĄ na to koukám, jak na to koukám, chybu nevidĂm. Kompilátorem to projde, ale bohuĹľel to nefunguje.
CelĂ˝ program je kdyĹľtak tady: http://robotic-hardware-interface.googlecode.com/svn/trunk/elektronika/motor_control/motor_control.c. Kompilátor pouĹľĂvám gcc.
DĂky za pĹ™Ăpadnou radu.
------------- daląí část ---------------
HTML pĹ™Ăloha byla odstranÄ›na...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20081126/11481085/attachment-0002.htm
Daląí informace o konferenci Hw-list