Pole v C
Pavel Troller
patrol@sinus.cz
Středa Listopad 26 14:12:31 CET 2008
Zdravím,
> 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);
>
Není mi jasné, jak to může chodit ?? Protože mi tam chybí před tím posledním
řádkem ještě
(*m).e[3] = (*m).e[4];
Myslel jsem si, že se to jen nepřeneslo do toho mailu, ale stahnul jsem si ten
zdroják a v něm je to taky...
Nebo někde něco nechápu ? Inu, robotik nejsem :-)
S pozdravem Pavel Troller
Další informace o konferenci Hw-list