Gast
#2722451
Hallo, ich rufe aus meiner main()-Funktion eine Funktion auf, deren Rückgabewert vom Typ uint32_t ist. Allerdings sind hier jeweils nur die unteren 22 Bit belegt. Der Rückgabewert in der main() ist nur noch 16 Bit breit, obwohl die Variable in der main() als uint32_t deklariert ist. Alternativ habe ich den Wert auch direkt an die Funktion ltoa() übergeben und ein String davon erzeugt. Er ist auch nur 16 Bit breit. "stdint.h" ist sowohl im c-File der main() als auch im c-File der Funktion eingebunden. Achso, es geht um einen Avr & gcc. Die Optimierung habe ich eingeschaltet (-0s) Hat jemand eine Erklärung?