Hallo
Wenn du eine eigene Funktion aufrufst muss sie zuvor bekannt gemacht werden:
Umgestellt und Main() wird kleingeschrieben, SerPrint() und WheelSpeed() kann ich nicht prüfen. Rold und Lold initialisiert. Besser kann ich's nicht, weil ich nicht die aktuelle Version der Lib installiert habe.Code:#include "asuro.h" void Testfahrt(void) { unsigned char s1=100,s2=100; MotorSpeed(150,150); MotorDir(FWD,FWD); while (1) { if (Wheelspeed[0]<150)s1++; if (Wheelspeed[0]>160)s1--; if (Wheelspeed[1]<150)s2++; if (Wheelspeed[1]>160)s2--; Msleep(2); MotorSpeed(s1,s2); } } void Abgrund(void) #define STOP 200 { unsigned int lineData[2]; unsigned char running = 1; MotorDir(FWD,FWD); FrontLED(ON); MotorSpeed(255,255); do { LineData(lineData); if ((lineData[0] < STOP) || (lineData[1] < STOP)) { MotorSpeed(0,0); BackLED(ON,ON); running = 0; } } while (running); while(1); } void Geradeaus(void) { int Lnow; int Rnow; int Rold=0; int Lold=0; int Count; int sl; int sr; unsigned int data[2]; Count=0; sl=120; sr=120; while(1){ MotorDir(FWD,FWD); MotorSpeed(sl,sr); OdometrieData(data); if (data[0] > 512) Lnow = 1; else Lnow = 0; if (data[1] > 512) Rnow = 1; else Rnow = 0; if (Lnow ^ Lold) Count++; if (Rnow ^ Rold) Count--; Lold=Lnow; Rold=Rnow; if (Count>0) {sr++;} if (Count<0) {sr--;} if (sr>254){sr=255; sl--;} if (sr<61){sr=60; sl++;} } } void Programme (void) { unsigned char sw; SerPrint("Hello I am ASURO"); for (;;) { sw = PollSwitch(); if (sw == 0x01) Geradeaus(); if (sw == 0x02) Abgrund(); //if (sw == 0x04) L1(); //if (sw == 0x08) L2(); //if (sw == 0x16) L3(); //if (sw == 0x32) L4(); } } int main(void) { // unsigned int i,data[2]; // unsigned char count = 0,flag = 0; Init(); /* for (i = 0; i < 0x1FFF; i++) { OdometrieData(data); if ((data[0] < 200) && (flag == 1)) { count ++; flag = 0; } if (data[0] >= 600) flag = 1; } if (count > 10) Programme(); */ while (1) { if (PollSwitch()) { while (PollSwitch()); Programme(); } Testfahrt(); } return 0; }
Ich hoffe, das stimmt so.Code:#include "asuro.h" void a(void) // Deklaration und Definition (Bekanntmachung und Definition) { } void b(void) // dito { a(); } void c(void); // Deklaration int main(void) { Init(); a(); b(); c(); while (1); return 0; } void c(void) // Definition { a(); b(); }
Gruß
mic







Zitieren

Lesezeichen