Long Variable und Watchdog löst aus

Gast #2448509
Lesenswert?

Hallo Zusammen,

ich habe in meinem Code eine Stelle wo ich mit einer Long Variablen 
"rechne", weil Integer anscheinend nicht geht. Eigentlich dachte ich, 
dass ich in eine Integer die 2^32-1 reinschreiben kann??
In der Hauptschleife triggerte ich einen 15ms Watchdog. Bevor ich die 
Int Variable durch einen Long Typen ersetzte, wurde der watchdog auch 
noch rechtzeitig getriggert. Mit der Long Variablen kam nun immer ein 
reset. Ist das normal, dass das "rechnen" mit Long soviel mehr 
Rechenzeit/leistung" in Anschpruch nimmt, dass ich den Watchdogtrigger 
hochsetzen muss ?

Gruß Spice
Gast #2448520
Lesenswert?

Spice schrieb:
> Eigentlich dachte ich,
> dass ich in eine Integer die 2^32-1 reinschreiben kann??

In eine "unsigned" normalerweise (32 oder mehr Bit Prozessor) schon, in 
eine "signed" nur 2^31-1 und entsprechende negative Werte. Auf einem 
AVR/MSP430 ist die nur 16Bit groß. Am besten immer die
uint16_t bzw. uint32_t (definiert in inttypes.h) benutzen wenn man eine 
definierte Länge will.

> Ist das normal, dass das "rechnen" mit Long soviel mehr
> Rechenzeit/leistung" in Anschpruch nimmt, dass ich den Watchdogtrigger
> hochsetzen muss ?

Kommt drauf an, was du rechnest. Multiplikationen und Divisionen 
brauchen natürlich viel mehr Rechenleistung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren