www.mikrocontroller.net

Forum: Compiler & IDEs Anzahl der einsen in einem Byte bestimmen


Autor: Mousse-T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusmamen,

weiss vielelicht jemand wie das geht? Folgender hintergrund: Ich schicke 
immer zwei Bytes aus dem AVR zur seriellen Schnittstelle. Das erste Byte 
soll immer die parität 0 und das zweite Byte die parität 1 haben.

Um das zu realisieren muss ich natürlich wissen wieviel 1en in meinem 
Byte sind. jemand ne Ahnung wie ich das machen könnte?

Danke

Mousse-T

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <util/parity.h>

...

if (parity_even_bit(bytewert)) ...


Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Assembler oder C?

AVRs haben glaube ich kein Parity-Bit.

Im Grunde genommen einfach alle Bits X-Odern. In Assembler kann man ein 
bisschen tricksen.

Ich meine aber, das wäre hier schonmal diskutiert worden.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die neueren AVRs haben Parität in Hardware:
>• Odd or Even Parity Generation and Parity Check Supported by Hardware

Auszug vom Mega88

MW

Autor: Mousse-T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich konnte in der Suche nichts passendens finden. Aber es geht um C.

Und der ATMEGA 644 hat die paritätsbits. Das klappt auch wunderbar nur 
ich wusste nicht wie ich die einsen bestimme ;-)

@Ernst
Danke muss ich mal probieren.

Autor: Mousse-T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Ernst

Danke es funktioniert ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.