verfaßt von LEO_68, 11.08.2009, 21:29:20
Hi,
eine Funktion kann einen Rückgabewert haben und wird dann nicht mit Void am Anfang geschrieben. Bei Deinem Beispiel wird \"get_volt\" abgearbeitet und gibt dann einen Wert zurück (am Ende steht \"return wert;\" ). Diesen Rückgabewert wirst Du dann irgendwo verarbeiten. Der Rückgabewert wird bei der Funktion durch \"uint\" vor dem Funktionsnamen (get_volt) angegeben.
Prozeduren haben keinen Rückgabewert sind ansonsten aber wie Funktionen aufgebaut.
Gruß LEO
> Noch eine Frage.
> Was macht diese Funktion beim Aufruf?
> Also was bedeutet \"uint get_volt(uchar chan)\" ?
> Ich dachte eine Funktion muß immer mit void beginnen.
> Diese beginnt jedoch mit uint (unsigned int).
> Warum wurde nicht \"void get_volt(uchar chan)\" geschrieben?
> Könntest Du mir das erklären?
>
>
> //********************************** rechnet Wert in Volt in String um
> uint get_volt(uchar chan)
> {
> uint wert; // Messwert 10 bit
> long volt; // Spannung in Volt
>
> wert = ad_in(chan); // messen
> volt = (long) wert; // A/D-Wert
> volt = volt * 5000; // Skalierung 0V bis 5V
> volt = volt / 1023; // und A/D Wandlerkorrektur
> ltoa_format(buff,volt,1,3,\' \'); // Long in Zeichenkette buff
> umwandeln
> // 1 Zeichen vorm Dezimalpunkt und 3 Zeichen danach
> return wert; // Messwert in int wert
> }
>
gesamter Thread: