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
> was wird hier Es wird der inhalt des Registers UDR zurückgegeben. > zu wem zurückgegeben? Es wird an die aufrufende Funktion zurückgegeben.
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
1 | 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.
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.
du kannst mit dem Aufruf
1 | variable = funktion(); |
das Ergebnis, welches mit return zurueckgegeben wurde in einer variable schrieben!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.