PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm-probleme | Nur Status-LED leuchtet - Gelöst



E-T
20.03.2006, 16:52
Halihalo
Mein Asuro führt keine Programme aus,nur die Status-LED leuchtet Grün.
Der Selbsttest funktioniert einwandfrei, und dass Flashprogramm meldet auch immer erfolg.

linux_80
20.03.2006, 18:09
Hallo,
wie schaut denn das Programm aus, wenn die Lampe Grün wird, kann es ja schon ein kleiner Erfolg sein.

E-T
20.03.2006, 18:18
Ich hab verschiedene Probiert, dass aus der Anleitung wo die Lampe rot leuchten soll,dann ein eigene wo er nur im Kreis fährt und ein Programm wo die Lampe bei Schalterdruck grün leuchten soll.

Andun
20.03.2006, 20:18
Also hier mal die Standartantworten:

1. Hast du dran gedacht das Programm zu speichern, bevor du auf make gedrückt hast? Das wird nämlich gerne oft vergessen.
2. Gibt der Compiler keinen Fehler aus?
3. Zeig doch mal her das Programm.

Andun

E-T
21.03.2006, 17:30
Also
1.Ich hab gespeichert
2.Der Compiler meldet:

Errors: none
-------- end --------
> Process Exit Code: 0
3.Hier das Programm:

#include "asuro.h"
int main(void)
{
Init()
while(1){
if (PollSwitch()>0){StatusLED(RED);}
else{StatusLED(GREEN);}

}

ManniMammut
21.03.2006, 20:21
#include "asuro.h"
int main(void)
{
Init()
while(1){
if (PollSwitch()>0){StatusLED(RED);}
else{StatusLED(GREEN);}
}

Leute, lernt mal bitte nen vernünftigen C-Style #-o
Ätzend sowas zu lesen.
Ich hab mir jetzt mal die Mühe gemacht, den QT in selbigen umzubauen.



#include "asuro.h"

int main() //das "void" kann man sich schenken
{
Init(); //Semikolon vergessen
while(1)
{
if( PollSwitch() > 0 ) StatusLED( RED ) //bei nur EINER Anweisung braucht man keine geschweiften Klammern
else StatusLED( GREEN ); //hier ebenso
} //while war nicht geschlossen
}


Ich hoffe, ich hab nichts übersehen. So müsste es c-technisch auf jeden Fall stimmen.

mfG, Manni

izaseba
21.03.2006, 20:44
@Manni,
Du hast recht, es wird hier gecoded, das kann kein Mensch lesen, aber


if( PollSwitch() > 0 ) StatusLED( RED ) //bei nur EINER Anweisung braucht man keine geschweiften Klammern


Du hast hier auch in der Eile was vergessen :-$

@E-T ,
das hat keine Fehler gegeben, glaub ich nicht, wie heißt Dein Programm,
genauso wie in Makefile angegeben?

Gruß Sebastian

ManniMammut
21.03.2006, 20:51
@Manni,
Du hast recht, es wird hier gecoded, das kann kein Mensch lesen, aber


if( PollSwitch() > 0 ) StatusLED( RED ) //bei nur EINER Anweisung braucht man keine geschweiften Klammern


Du hast hier auch in der Eile was vergessen :-$

Falls es Dir um das ';' geht - Bei einem If-Else-Statement darf hier keins stehen. ;-)

mfG, Manni

izaseba
21.03.2006, 20:57
Falls es Dir um das ';' geht - Bei einem If-Else-Statement darf hier keins stehen.

Dann hab ich wohl einen kranken Kompiler, bei mir macht er sofort syntax error vor "else"... :wink:

Andun
21.03.2006, 21:05
Moin

Also soweit ich das weiß, und ihc bin mir da ziemlich sicher, muss nach einem if() eine Anweisung folgen:
Als Anweisung gilt:
- Ein Anweisungsblock ( Das ding mit { } )
- Eine einfach Anweisung ( foo(); )
- Eine leere Anweisung ( ; )

Nur der Anweisungsblock braucht nicht mit einem Semikolon abgeschloßen werden. (Aber alles darin) Sonst aber alles.

Andun

P.S.: Falls ich wider erwarten absoluten Senf verzapft habe, verzeihe man mir.

ManniMammut
21.03.2006, 21:15
Lol, Grundsatzdiskussion :mrgreen:

@Izaseba: Deinem Avatar nach benutzt du vermutlich den gcc. /me². Und unser "kranker Compiler" macht das einwandfrei.

@Andun: Wir verzeihen dir nicht, denn du hast keinen Senf gesagt ^^

E-T
03.04.2006, 15:23
Hallo
Ich weiß jetzt worans lag: 1. Hab ich meistens doch nicht gespeichert,
2. Der Compiler war so eingestellt,dass er immer
die SelfTest dateien compiliert hat