Bitfeld in Bytearrays

Gast #1146533
in meinem projekt, habe ich die digitalen eingänge in form von einem 
bitfeld in einem bytearray liegen abgebildet.
die buskommunikation ist modbus rtu. dabei gibt es das command "read 
input", das eine startadresse und eine datenlänge vorgibt.
das heiß, ich beginne zb. ab den input 9 (byte[1], bit1) zu lesen. von 
da an sollen 12 eingänge gelesen werden, also bis input 21 (byte[3], 
bit4).
das ergebniss soll wieder in bytes stehen, allerdings mit der 
bitposition 0 beginnend. in diesem beispiel wären es dann 2 Bytes - 
byte[0] mit 8 relavanten bits und byte[1] mit 4 relavanten bits.

irgen wie steh ich heute schon am schlauch, wie man so schön sagt.

vielleicht kann mir jemand von euch helfen - danke!
gruß peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.