Ansicht:   

#156533 C - Funktionsaufruf will nicht ... ??? (pc.coding)

verfaßt von Mr. Teflon, 11.08.2009, 19:46:09

> > Wenn ich versuche dieses zur Funktion zu machen, meckert immer der
> > Compiler an der Deklaration der Funktion. Egal ob void oder unsigned
> int
> > etc. davor steht. Die A/D Kanalnummer wird beim Aufruf übergeben. chan
> wäre
> > in dem Fall Kanal 4.
>
> Klasse gemacht. Es ist immer eine gute Idee, den potentiellen Helfern die
> genaue Fehlermeldung zu verschweigen.
>
> > void com_Temperatur (uchar chan)
>
> > com_Temperatur(4);
>
> Willst Du hier die Ziffer 4 oder das Zeichen mit dem Code 4 übergeben?

Hallo,

Entschuldigung.  ;-)
Es soll die Ziffer 4 mit übergeben werden.

Ich weis jetzt woran es lag, die Fehlermeldung s.u. war vorhin überdeckt.
\"Sorry, compilation terminated because of these errors in main().\"
Ich habe die Funktion jetzt nach außerhalb von main {} kopiert und es funktioniert.

void com_Temperatur (uchar chan)
{
...
}

und rufe sie mit

com_Temperatur(4);

auf.

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.  :kratz:
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
}



Fehlermeldung vom Compiler:


C:\\WorkSpace\\Temperatur\\Temperatur\\Temperatur.c(571) : [Error(ccom)] syntax error at near \'unsigned\'
===>	com_Temperatur (uchar chan)
Sorry, compilation terminated because of these errors in main().
C:\\WorkSpace\\Temperatur\\Temperatur\\Temperatur.c
Phase M16C C Compiler finished

Phase M16C Assembler starting
C:\\WorkSpace\\Temperatur\\Temperatur\\ncrt0.a30
R8C/Tiny,M16C/60 Series Assembler system Version 5.11 Release 00
Copyright(C) 2004. Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
macro processing now
assembler processing now
TOTAL ERROR(S)    00000
TOTAL WARNING(S)  00000
TOTAL LINE(S)     00268   LINES
DATA     0000000(00000H)  data_SE
DATA     0000000(00000H)  bss_SE
DATA     0000000(00000H)  data_SO
DATA     0000000(00000H)  bss_SO
DATA     0000000(00000H)  data_NE
DATA     0000000(00000H)  bss_NE
DATA     0000000(00000H)  data_NO
DATA     0000000(00000H)  bss_NO
DATA     0000256(00100H)  stack
DATA     0000000(00000H)  heap
ROMDATA  0000000(00000H)  rom_NE
ROMDATA  0000000(00000H)  rom_NO
ROMDATA  0000000(00000H)  data_SEI
ROMDATA  0000000(00000H)  data_SOI
ROMDATA  0000000(00000H)  data_NEI
ROMDATA  0000000(00000H)  data_NOI
ROMDATA  0000000(00000H)  switch_table
CODE     0000000(00000H)  program
CODE     0000000(00000H)  interrupt
ROMDATA  0000256(00100H)  vector
ROMDATA  0000004(00004H)  fvector
CODE     0000149(00095H)  interrupt
( C:\\WorkSpace\\Temperatur\\Temperatur\\ncrt0.a30 )
----*----*---
Phase M16C Assembler finished

Phase M16C Linker starting
Linkage Editor (ln30) for R8C/Tiny,M16C Series Version 5.11.00.000
Copyright(C) 2004. Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
now processing pass 1
processing \"C:\\WorkSpace\\Temperatur\\Temperatur\\Release\\ncrt0.r30\"
processing \"C:\\WorkSpace\\Temperatur\\Temperatur\\Release\\Temperatur.r30\"
Error (ln30): Can\'t open file \'C:\\WorkSpace\\Temperatur\\Temperatur\\Release\\Temperatur.r30\'
Phase M16C Linker finished

Phase M16C Load Module Converter starting
Load Module Converter (lmc30) for R8C/Tiny,M16C/60 Series Version 4.01.00.000
Copyright(C) 2004. Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
Error (lmc30): Can\'t open file \'C:\\WorkSpace\\Temperatur\\Temperatur\\Release\\Temperatur.x30\'
Phase M16C Load Module Converter finished

Build Finished
3 Errors, 0 Warnings

--
___________
Tschau
Mr. Teflon

 

gesamter Thread:

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz