ByteArray Kopieren ab Byte X

Gast #4096571
Lesenswert?
• ▲
▼
Hallo,

ich habe folgendes Anliegen, ich bekommen in meine CPU z.B. Folgendes 
rein:
          -Header-- -Command- --------Data------------
Daten RX: 0x41 0x01 0x00 0x05 0x00 0x01 0x02 0x03 0x04

Nun möchte ich diese Daten in den Buffer fifo_rx2 Schieben Ohne Header 
und Ohne Command, diese sollen in zwei weitere Arrays Kopiert werden.

Momentan kopiere ich alles per memcpy, Ich hätte aber gerne die Daten 
gesplittet...

Byte fifo_rx [512];
Byte fifo_rx2 [receivedByte];

Funktion
switch (fifo_rx[0])
{
case 0x41: //Q
memcpy(fifo_rx2,fifo_rx,sizeof(fifo_rx2));
udi_cdc_putc(sizeof(fifo_rx2));
udi_cdc_write_buf(fifo_rx2, sizeof(fifo_rx2));
break;
}

Danke für eure Hilfe
Persönliche Seite #4096666
Lesenswert?
• ▲
▼
Max H. schrieb:
> Wenn der Header und der Command konstante Länge haben:
1
> memcpy(fifo_rx2, fifo_rx + HEADER_LEN + COMMAND_LEN, sizeof(fifo_rx2));

Das gilt auch, wenn deren Länge nicht konstant ist — dann hängen 
HEADER_LEN und COMMAND_LEN eben von irgendwelchen Parametern ab.

Und selbst wenn HEADER_LEN und COMMAND_LEN konstant sind, kann durchaus 
sein, dass HEADER_LEN != sizeof (header) oder COMMAND_LEN != sizeof 
(command).

Antwort schreiben

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.

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.