Gast
#396652
Guten Morgen!
Ich steh gerade total auf der Leitung.
Ich möchte folgendes berechnen:
void setup_vergleichswert(void)
{
long int temp=0;
temp=(160000000/(2*256*frequenz))-1;
laser_puls=(pulsbreite*temp)/100;
laser_pause=((100-pulsbreite)*temp)/100;
}
Ich dachte das bleibt alles noch im long Bereich und läuft nicht über.
Allerdings hab ich testweise mal feste Werte eingesetzt, weil die
Berechnung immer ein falsches Ergebniss brachte.
Hab mal so angefangen zu testen:
temp=(256*500);
Wieso geht das nicht? Ich bekomme vom avrgcc "warning: integer
overflow in expression"
Bitte gebt mir einen Gedankenanstoß :)