Forum: Compiler & IDEs gcc-arm-none-eabi while Schleife Funktionaufruf


von aSma>> (Gast)


Lesenswert?

Servus,
wollte mal wissen, ob man bei einer while Schleife einen Funktionaufruf 
machen kann. Programmiere einen STM32f103, COOCOX, 
gcc-arm-none-eabi-4_9-2015q2-20150609-win32.


BOOL_T function2(BOOL_t x)
{
  switch(x)
  {
  case SUCCESS: return true;
  }
return false;
}

uint8_t function1(BOOL_t x){
...
   while (funktion2(x)==false)
   {
   }
...
return 0;
}

Bei der whileschleife lande ich im Default_Handler. Definiere ich eine 
variable für die Funktion2 in der Funktion1:
BOOL_T test = function2(BOOL_t x);

Dann klappt alles. Ich will nur wissen, ob es ein Kompilerfehler ist 
oder generell es verboten ist eine Funktion in der while-Schleife 
aufzurufen.

Danke.

von (prx) A. K. (prx)


Lesenswert?

Funktionsaufrufe in dieser Form sind zulässig. Das Problem liegt 
woanders.

von Sebastian V. (sebi_s)


Lesenswert?

A. K. schrieb:
> Das Problem liegt woanders.

Aber ziemlich sicher auch kein Compilerfehler. Sowas gibts zwar, 
allerdings ist der Fehler in 99,9% der Fälle doch in deinem Code und 
nicht im Compiler. Erst recht bei so einem einfachen Code. Wenn das im 
GCC nicht funktioniert wäre das schon vor Ewigkeiten aufgefallen.

von aSma>> (Gast)


Lesenswert?

Servus,
Ja, es lag an CooCox. Ein Neustart hat geholfen.

Danke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.