Forum: Mikrocontroller und Digitale Elektronik Long Variable und Watchdog löst aus


von Spice (Gast)


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

von R2D2 (Gast)


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.

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.