mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik rückgabe mit return


Autor: Tobias Domhöfer (tobias92)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was wird hier bei dieser funktion zu wem zurückgegeben?

uint8_t uart_getc(void)
{
    while (!(UCSRA & (1<<RXC)))   // warten bis Zeichen verfuegbar
        ;
    return UDR;                   // Zeichen aus UDR an Aufrufer 
zurueckgeben
}

Tobias

Autor: NurEinGast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>  was wird hier

Es wird der inhalt des Registers UDR zurückgegeben.

> zu wem zurückgegeben?

Es wird an die aufrufende Funktion zurückgegeben.

Autor: Thomas Klima (rlyeh_drifter) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Domhöfer schrieb:
> was wird hier bei dieser funktion zu wem zurückgegeben?

du hast hier nur eine Definition deiner Funktion, da sieht man das noch 
nicht. Im Hauptprogramm wirst du dann so etwas wie
uint8_t zeichen = uart_getc();
machen, dann hast du nachher in der Variable zeichen den Wert 
gespeichert, da er von der Funktion zurückgegeben wurde.

Autor: ekke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
UDR ist ein Register für die UART-Kommunikation, siehe 
AVR-GCC-Tutorial/Der UART.
UDR hat einen neuen Wert, wenn die Bedingung in der while-Schleife 
erfüllt ist, steht ja auch im Kommentar.
Ob der return-Wert irgendwo ankommt, hängt davon ab, wie uart_getc 
aufgerufen wird.

Ich schlage vor, dass du dir das Tutorial AVR-GCC-Tutorial 
reinziehst. Ich befürchte aber, dass du vorher noch C lernen solltest, 
aber auf einem PC.

Autor: Chris L. (kingkernel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du kannst mit dem Aufruf
variable = funktion();

das Ergebnis, welches mit return zurueckgegeben wurde in einer variable 
schrieben!

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.