Ich habe einen 16Bit ADC, der das Ergebnis im Zweierkomplementformat an einen AVR liefert. Nun möchte ich ein paar Werte mitteln, Plausibilitätsüberprüfungen durchführen und das Ergebnis dann an den PC schicken. Wie mache ich nun die Mittelwertbildung im Zweierkomplement? Muss ich dazu zuerst in Binärdarstellung umrechnen?
Was ist denn der Unterschied zwischen Binaer und Zweierkomplement ? Was ist der Unterschied zwischen Integer und Word ?
Negative Zahlen werden im Controller eh als zweier-kompl. dargestellt, wenn du deinem Compiler den richtigen Datentyp angibts, dann kommt da auch was vernünftiges bei raus.
Wie gebe ich im gcc an das die Zahl im Zweierkomplement ist? Mit binär meine ich und auch viele Datenblätter von ADCs die Darstellung mit Flagbit für negative Zahlen.
Hex Oschi schrieb: > Was ist denn der Unterschied zwischen Binaer und Zweierkomplement ? ein riesiger: http://de.wikipedia.org/wiki/Zweierkomplement http://de.wikipedia.org/wiki/Dualsystem Hex Oschi schrieb: > Was > ist der Unterschied zwischen Integer und Word ? keiner Thomas schrieb: > Nun möchte ich ein paar Werte mitteln, > Plausibilitätsüberprüfungen durchführen und das Ergebnis dann an den PC > schicken. Was für eine Programmiersprache? Thomas schrieb: > Muss ich dazu zuerst in Binärdarstellung umrechnen? Müssen tust du garnichts - den AVR interessiert nicht welche Darstellung du gewählt hast. Stellt sich die Frage nach deinen Programmierkenntnissen ...
alle signed int datentypen (signed char, signed int, int8_t. int16_t usw) -> interne 2erkomplementdarstellung
Wenn du den Wert als int deklarierst (16bit mit Vorzeichen) dann sollte es klappen. Für den Mittelwert mußt du allerdings mindestens eine 32-bit variable nehmen, dabei mußt du aufpassen, daß du die Werte richtig "castest", damit dein Vorzeichen nicht verloren geht. Ansonsten einfach ausprobieren, dabei lernst du am meisten. Viel Erfolg!!!
>>Hex Oschi schrieb: >> Was >> ist der Unterschied zwischen Integer und Word ? > >keiner Natuerlich ist da Einer. Der Eine ist ohne Vorzeichen, der Andere ist Zweierkomplement.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.