Cześć, mam taki problem, że wymieniony w temacie uC zawiesza mi się w funkcji która wygląda tak:
Kod:
void pidKontroler( Dane_Katy *Zadany_Kat, Dane_Katy *Zmierzony_Kat, Poprzedni_Blad *Poprzedni_Blad, Dane_PID *DanePid)
{
int16_t BladPitch=1;
int16_t RozniczkaPitch=0;
int16_t BladRoll=1;
int16_t RozniczkaRoll=0;
BladPitch=Zadany_Kat->Pitch-Zmierzony_Kat->Pitch;
BladRoll=Zadany_Kat->Roll-Zmierzony_Kat->Roll;
RozniczkaPitch=(BladPitch-Poprzedni_Blad->Pitch)/dt;
RozniczkaRoll=(BladRoll-Poprzedni_Blad->Roll)/dt;
DanePid->Pitch=(KP*BladPitch)+(KD*RozniczkaPitch);
DanePid->Roll=(KP*BladRoll)+(KD*RozniczkaRoll);
}
Zastanawiam się czy to przez dużą ilość przekazywanych adresów do funkcji:
Kod:
pidKontroler(&ZadaneKaty, &ZmierzoneKaty, &PoprzedniBlad, &DanePid);
Dodam że jak tej funkcji nie ma to wszystko działa

Jakieś sugestie czego to wina? Atmega taktowana 16MHz.