UART Empfang

Gast #155680
Hallo. Ich empfange über den UART strings, deren Länge nicht vorher
ermittelt werden kann. (NULL-Terminiert)
Nun wollt ich wissen wie man mit einem µC sowas am besten empfängt.
weil ich kann ja nicht ein array mit einer vordefinierten länge
festlegen, ohne einen buffer overflow oder speicher verschwendung zu
realisieren.


MfG
Gast
"weil ich kann ja nicht ein array mit einer vordefinierten länge
festlegen, ohne einen buffer overflow oder speicher verschwendung zu
realisieren"

Man sollte schon wissen wieviel maximal reinkommt!
Oder man wirft alles weg was zu viel ist.
Oder man wartet auf "bestimmte Daten".


Kurt
Gast
Wie soll man die teile resizen können ? Wenn ich so ein array resizen
will ist ja evtl. der speicher nach dem array schon "weg". Dann
bräucht ich ja sowas wie ne verkettete liste, also völliger quartsch
(in diesem fall).

MfG
Gast
unter c gibts auch dynamische speicherverwaltung (zwar keine arrays
direkt resizen aber speicherbereiche vergrössern) und unter asm kann
man sich sowieso komplett selber austoben

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.