Gast
#1979619
Hallo Leute, wir haben im Rahmen der Vorlesung Mikroprozessortechnik ein ATMega128 Evaluation Board bekommen und arbeiten zu Zeit an einer Umsetzung des DTMF Verfahrens. Ich lese mit dem ADC und einem Soundeingang Werte ein und unser Prof hat uns gesagt, dass man den Wert den man vom ADC bekommt erst in einer singed variable speichert und dann folgende Operation ausführen muss: //variablendeklaration signed int value; //codeabschnitt value = ADC; value = ((value<<6)>>6); Der ADC-Wandler ist ein 10Bit Wandler, also das Ergebnis steht praktisch in 2 8Bit Registern. Ich verstehe nicht ganz den Sinn dieser Operation, da beim schieben nach links einfach Nullen von rechts nachgeschoben werden und wenn man nun eine signed Variable nach rechts verschiebt von links Einsen nachgeschoben werden. Diese Operation soll ja dem Erhalt des Vorzeichens dienen wenn ich das richtig verstanden habe. Aber dann würde das Vorzeichen ja bei jeder Zahl eine 1 sein oder nicht??? Kann mir da bitte jemand helfen!?