also du verwendest eine aktuelle (überabeitete) lib?! beispielsweise die version 2.71 oder 2.8?!
hast du die funktion Msleep() jemals getestet?! fie funktion soll ja einfach nur den wert in ms warten, den du übergibst. also wartet Msleep(1000) 1 sekunde. du kansst bei solceh einfachen problemen ganz einfach den fehler eingrenzen, indem du dir kleine hilfsprogramme schreibst. lass z.b. einfach nur die status led erst grün leuchten, dann nach einer sekunde gelb und nach einer weiteren rot. dann schaltest du sie nach 2 sekunden ab. mehr soll asuro in deinem testprogramm erst mal nicht machen. wenn alles funktionier wie beschrieben, kannst du erkennen, dass die funktion Msleep() [und damit wahrscheinlich auch die ganze lib] richtig funktioniert.
geht es damit nicht wie gewünscht, musst du weiterforschen. allerdings ist das oft gut, das so zu machen, weil man dann ein gefühl für mögliche fehlerursachen bekommt und sich dann auch oft selbst helfen kann.
ich mach es auch oft so, dass ich mögliche fehlerquellen stück für stück auskommentiere, einfach nur um zu sehen, ob es an der entsprechenden stelle liegt oder nicht.
das testprogramm sehe dann so aus:
Code:#inclue asuro.h int main() { Init(); StatusLED(OFF); Msleep(500); StatusLED(GREEN); Msleep(1000); StatusLED(YELLOW); Msleep(1000); StatusLED(RED); Msleep(2000); StatusLED(OFF); while(1); return 0; }
... jetzt wo ich hier grad so den code reinschreibe fällt mir auf, dass du in deiner main() funktion gar kein return am ende hast. meckert dein compiler da gar nicht?!
Lesezeichen