Falsche Übergabe von Variable in Funktion

#3275592
Lesenswert?

Hallo Leute,
nachdem ich jetzt ein Fehler nach dem nächsten gefunden habe bin ich 
wieder mal an einem Punkt an dem ich nicht weiter weiß.
Ich habe eine Funktion der ich 2 Parameter übergeben will:
1
uint8_t execute_command(uint8_t com,uint32_t val1)

Wenn ich jetzt die Funktion so aufrufe:
1
result = execute_command(136,5)

...dann kommt in der Simulation in der Funktion als com 136 an und als 
val1 kommt 327680 an. Wenn ich uint32_t durch uint16_t ersetze, dann 
funktioniert es und es kommt die 5 an.

Was mache ich falsch, bzw. wie kann das sein?

mfg

morrie
Gast #3275598
Lesenswert?

Das kann nicht sein, falls alles was Du hier nicht zeigst, mit dem hier 
gezeigten kohärent ist.

Mach mal ein minimales, kompilierbares Beispiel, das diesen Fehler 
zeigt. Nenne uns Compiler und Debugger und CPU.
#3275642
Lesenswert?

Hallo,
ich habe gerade mal allen überflüssigen Code entfernt und dann hat es 
funktioniert. Ich habe also einen Ansatzpunkt den Fehler zu finden. Ich 
muss jetzt mal systematisch den Code löschen bis der Fehler weg ist.
Ich melde mich dann nochmal wenn ich den Fehler gefunden habe.



Anbei nochmal das Output File:

------ Build started: Project: ppt0.1, Configuration: Debug AVR ------
Build started.
Project "ppt0.1.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; 
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 
6.1\Vs\Compiler.targets" from project "C:\Users\Deborah\Documents\Atmel 
Studio\ppt0.1\ppt0.1\ppt0.1.cproj" (target "Build" depends on it):
  Task "RunCompilerTask"
    C:\Program Files (x86)\Atmel\Atmel Studio 6.1\shellUtils\make.exe 
all
    Building file: .././CodeInterpreter.c
    Invoking: AVR/GNU C Compiler : 3.4.2
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-gcc.exe" 
-funsigned-char -funsigned-bitfields -O1 -ffunction-sections 
-fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega32a -c 
-std=gnu99 -MD -MP -MF "CodeInterpreter.d" -MT"CodeInterpreter.d" 
-MT"CodeInterpreter.o"   -o "CodeInterpreter.o" ".././CodeInterpreter.c"
    Finished building: .././CodeInterpreter.c
    Building file: .././menuescreens.c
    Invoking: AVR/GNU C Compiler : 3.4.2
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-gcc.exe" 
-funsigned-char -funsigned-bitfields -O1 -ffunction-sections 
-fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega32a -c 
-std=gnu99 -MD -MP -MF "menuescreens.d" -MT"menuescreens.d" 
-MT"menuescreens.o"   -o "menuescreens.o" ".././menuescreens.c"
    .././menuescreens.c: In function 'Men_Universaltimer':
    Finished building: .././menuescreens.c
    Building file: .././ppt0.1.c
    Invoking: AVR/GNU C Compiler : 3.4.2
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-gcc.exe" 
-funsigned-char -funsigned-bitfields -O1 -ffunction-sections 
-fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega32a -c 
-std=gnu99 -MD -MP -MF "ppt0.1.d" -MT"ppt0.1.d" -MT"ppt0.1.o"   -o 
"ppt0.1.o" ".././ppt0.1.c"
    In file included from .././ppt0.1.c:12:0:
C:\Users\Deborah\Documents\Atmel Studio\ppt0.1\ppt0.1\ppt0.1.h(14,0): 
"XTAL" redefined [enabled by default]
    In file included from .././ppt0.1.c:10:0:
C:\Users\Deborah\Documents\Atmel Studio\ppt0.1\ppt0.1\lcd.h(47,0): this 
is the location of the previous definition
    .././ppt0.1.c: In function 'main':
C:\Users\Deborah\Documents\Atmel Studio\ppt0.1\ppt0.1\ppt0.1.c(22,2): 
implicit declaration of function 'init_Menue' 
[-Wimplicit-function-declaration]
C:\Users\Deborah\Documents\Atmel Studio\ppt0.1\ppt0.1\ppt0.1.c(27,2): 
implicit declaration of function 'execute_command' 
[-Wimplicit-function-declaration]
C:\Users\Deborah\Documents\Atmel Studio\ppt0.1\ppt0.1\ppt0.1.c(58,3): 
implicit declaration of function 'ExecuteMenue' 
[-Wimplicit-function-declaration]
    Finished building: .././ppt0.1.c
    Building target: ppt0.1.elf
    Invoking: AVR/GNU Linker : 3.4.2
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-gcc.exe" -o ppt0.1.elf 
CodeInterpreter.o DrehImpulsGeber.o general_functions.o lcd.o menue.o 
menuescreens.o ppt0.1.o timer.o   -Wl,-Map="ppt0.1.map" 
-Wl,--start-group -Wl,-lm  -Wl,--end-group -Wl,--gc-sections 
-mmcu=atmega32a
    Finished building target: ppt0.1.elf
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R 
.eeprom -R .fuse -R .lock -R .signature  "ppt0.1.elf" "ppt0.1.hex"
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom 
--set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 
--no-change-warnings -O ihex "ppt0.1.elf" "ppt0.1.eep" || exit 0
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S 
"ppt0.1.elf" > "ppt0.1.lss"
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R 
.eeprom -R .fuse -R .lock -R .signature  "ppt0.1.elf" "ppt0.1.srec"
    "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-size.exe" "ppt0.1.elf"
       text     data      bss      dec      hex  filename
       6520      926       32     7478     1d36  ppt0.1.elf
  Done executing task "RunCompilerTask".
  Task "RunOutputFileVerifyTask"
        Program Memory Usage   :  7446 bytes   22,7 % Full
        Data Memory Usage     :  958 bytes   46,8 % Full
  Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "ppt0.1.cproj".
Target "PostBuildEvent" skipped, due to false condition; 
('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Atmel Studio 
6.1\Vs\Avr.common.targets" from project 
"C:\Users\Deborah\Documents\Atmel Studio\ppt0.1\ppt0.1\ppt0.1.cproj" 
(entry point):
Done building target "Build" in project "ppt0.1.cproj".
Done building project "ppt0.1.cproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped 
==========

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren