Hallo,
Das würde aber bedeutet das ich die Variablen dann global definiere oder? Habe mal gelernt das man das nicht machen soll. Aber habs mal ausprobiert, es geht.Versuche einmal die Zeile "int8_t Var_Out, Var_In = 0;" vor main geben. Also zwischen den include Anweisungen und main.
Habe jetzt auch mal um die Zeile eine kleine dauer While Schleife gebaut. Geht immer noch nicht. Ich dachte aber das jeder Aufruf der Funktion die einmal ausführt.
Var_In in der Funktion hat abber immer noch kein Wert. Also geht das ganze Programm immer noch nicht. Mist. Kann mir da jemand bei helfen.Code:#include <avr/io.h> #include <stdio.h> #include <inttypes.h> #ifndef F_CPU #define F_CPU 80000000UL /* Quarz mit 8 Mhz */ #endif #include <util/delay.h> /* definiert _delay_ms() ab avr-libc Version 1.2.0 */ #include "main_header.h" // Einfügen der Header-DAtei main_header.h int8_t Var_Out, Var_In = 0; int8_t zaehler(int8_t Var_In) //Definition der Funktion "zaehler" { int8_t Var_Out; Var_Out = Var_In * 2; //hochzählen return (Var_Out); } int main(void) //Hauptprogramm { // int8_t Var_Out, Var_In = 0; Var_In = 19; DDRD = 0b11111111; // PORTD als Ausgang setzen while(1) { PORTD = zaehler(Var_Out); //Aufruf Funktion } }
Danke
Arno
Lesezeichen