Gast
#1386875
Hallo, ich stehe gerade gewaltig auf dem Schlauch, benutze einen Atmega 32 mit C. Ich möchte eine Variable deklarieren wo eine Zahl > 1000000 abgelegt wird, jetzt habe ich probiert so eine long Variable zu deklarieren: uint32_t test; oder auch so unsigned long test; Wenn ich die berechnung laufen lasse und das Ergebnis auf einem LCD ausgebe sehe ich, dass der Compiler diese Variable als Int angelegt hat den die Zahl läuft bis 32767 und springt in den negativen Bereich also -32767. Woran liegt das? Die Berechnung ist sehr simpel, ich lese einen ADC Wert also max 1024 und multipliziere diesen mit 1000. Ich weiß ist eine blöde Frage, aber könte mir einer auf die Sprünge helfen?