Probleme bei Funktionsaufruf
-
Nein war blos ein Tippfehler hier im Forum, sonst würd ich auch nen Syntax Fehler kriegen.
-
wenns nicht zu viel code ist, könntest dus mal reinkopieren
-
Die Funktion hat mindestens 5 Din A4 Seiten aber das Problem tritt nur da oben auf, der Rest würde funktionieren.
-
Übergibst du als 1. Parameter den festen Wert 16 oder eine Variable?
Stimmt die Deklaration mit dem Definitionskopf deiner Funktion überein?
-
ist eine etwas komische Idee aber hast dus schon mal mit einem anderen Datentyp probiert?
-
@AJ:
Ich kann eigentlich übergeben was ich will, ich hab schon feste Zahlen probiert und Variablen, aber es kommt immer 0 dabei rüber. Die Parameter stimmen, bei deklaration und Aufruf.
@David14:
Ein anderer Datentyp geht nicht, ich hab leider nicht unbegrenzt Speicher auf dem Controler und muss sparsam sein. Ausserdem sollte ein 8 Bit Datentyp für einen 8 Bit Wert eigentlich reichen. Der kann Maximal 255 kriegen.
-
und du veränderst den ersten parameter in der funktion nicht zufällig irgendwo?
-
en' bißl' code?
-
poste halt die funktion und deinen funktionsaufruf.
ich denke des langt dann schon
-
Nein der wird nirgends verändert. Ich weiß nicht genau was ihr für code wollt ? Wenn ich die Funktion aufrufe, wird bei der Übergabe aus dem Wert einfach ne 0. Da kann der code in der Funktion doch sein wie er will. Der Fehler passiert definitiv beim übergeben der Parameter. Ich kann euch die Funktio hier schon komplett reinknallen aber dann habt ihr halt einen 10 Meter langen Beitrag ?
Hier mal der auf den Es ankommt :
Prototyp der Funktion :
void PWM_SetFrequencySync (UINT8 frequency, UINT8 channel);
Start der Funktion :
void PWM_SetFrequencySync (UINT8 frequency, UINT8 channel) { UINT8 PwmOnAtCall; int TimerClk; UINT8 prescalerA; UINT8 prescalerB; UINT8 scaleA; UINT8 scaleB; int period; UINT8 temp; PwmOnAtCall = 0; TimerClk = 0; prescalerA = 0; prescalerB = 0; temp = 0; scaleA = 0; scaleB = 0; /* Prescaler A berechnen */ temp = PWMPRCLK & 0x07; /* mask out ClockA */
Und so ruf ich sie auf :
PWM_SetFrequencySync (100,PWME_PWME0_MASK);
-
und welche variable ist nun 0?
-
vielleicht könntest die variable global deklarieren... sonst weiß ich auch nix
-
Habs gelöst, bei Motorola hat ein unsigned char nur 7 Bit echt zum kotzen, auf sowas soll man mal kommen.