mikrocontroller.net

Forum: Compiler & IDEs stdio, putc in Streams, 1 oder 2 Parameter


Autor: Michael Appelt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gerade eben habe ich ein Projekt zum Thema Webserver mit AVR Mega32 
heruntergeladen und im AvrStudio syntaktisch fit gemacht.

Dabei musste ich der putc im fdevopen call einen 2. Parameter auf den 
stream spendieren. Gut so einerseits, damit könnteman dann generische 
putc's, z.B. für queues implementierne, andererseits sind die Dokus 
unterschiedlich.

Kann mit ein Experte das erklären ? Wird beim Call der putc der eigene 
Stream übergeben ?

if(stream->putc(ch, stream)) ....

Gruss,
Michael

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael Appelt wrote:

> Dabei musste ich der putc im fdevopen call einen 2. Parameter auf den
> stream spendieren.

Nenne sie mal nicht putc, da ist die Verwechslungsgefahr mit der
stdio-Funktion putc zu groß.  Nenne sie einfach put, so wie's die
Doku macht.

> Wird beim Call der putc der eigene
> Stream übergeben ?

Ja, steht in der Doku drin.  Der wesentliche Punkt ist, dass man auf
diese Weise stets in den Backend-Funktionen an die Userdaten rankommt,
die man mit fdev_set_udata an den Stream drangehängt hat.  Auf diese
Weise kann man bspw. die gleiche put-Funktion für verschiedene
UARTs benutzen, indem man die tatsächlichen IO-Ports irgendwo in den
Userdaten implementiert.

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.