Forum: Mikrocontroller und Digitale Elektronik Problem Division Long avr-gcc ATMega8


von Karl Kazunga (Gast)


Lesenswert?

Hallo Freaks,

aergere mich seit Tagen mit einem Artithmetik-Problem herum:

Eine Integerdivision zweier long Zahlen liefert unterschiedliche
Ergebnisse, je nach dem, ob NACH der Operation noch eine andere
Funktion aufgerufen wird:

int    z_min, z_max, z;
long   pwm;

pwm = 255l * (long)z_max - 51l * (long)z_min - 204l * z;
pwm /= (long)(z_max - z_min);

Je nach dem, ob NACH dieser Stelle ein Unterprogramm aufgerufen wird,
kommt für (z = z_max) 51 oder 60 raus ...

Hat irgendjemand eine Idee?


K.

von Läubi (Gast)


Lesenswert?

VIleicht leigt das Problem am Unterprogramm?

von Karl Kazunga (Gast)


Lesenswert?

Hi Läubi,

hast vermutlich recht. Konnte das Problem weiter eingrenzen, die
Division ist unschuldig, das Unterprogramm war der boese Bube ...

Schönen Tach noch, danke.


K.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.