Hi inka,
das ist nicht so schwer. Es gibt wie immer verschieden Möglichkeiten. Wenn Du die Funktion in jedem Programm haben willst, dann empfiehlt sich folgendes:
Du erstellest zwei neue Dateien "inka.h" und inka.c".
So sieht die inka.h aus
und so die "inka.c"Code:#ifndef INKA_H_ #define INKA_H_ #endif /*INKA_H_*/ void WaitforStart(void); // blink until any switch is pressed, // then wait until switch is released
Im deinem Hauptprogramm (nennen wir es "test.c") machst Du dann folgendes:Code:void WaitforStart(void) // blink until any switch is pressed, { // then wait until switch is released uint8_t t1, t2; unsigned int col=OFF; while (1) // blinking StatusLED until any switch is pressed { t1 = PollSwitch(); t2 = PollSwitch(); if (t1==t2) { if (t1) { break; } else { col ^= GREEN; StatusLED(col); } } Msleep(50); } StatusLED(OFF); // turn off StatusLED and ... BackLED(ON,ON); // ... turn on both BackLED's while (1) // wait until switch is released { t1 = PollSwitch(); t2 = PollSwitch(); if (t1==t2) { if (!t1) { break; } } Msleep(50); } BackLED(OFF,OFF); // turn off BackLED's indication start of race }
Damit sollte es funktionieren. Wenn Du noch Fragen hast, dann frag einfach...Code:#include "inka.h" #include "asuro.h" // weitere #include Anweisungen int main(void) { Init(); WaitforStart(); while(1) { // Dein Programm } return 0; }
Noch ein kleiner Hinweis: void WaitforStart(void); ist nicht der Aufruf der Funktion, sonder die Deklaration. Damit sagst Du dem Programm, dass es eine solche Funktion gibt, und welche Parameter und Returnwerte es erwartet bzw. zurück gibt. Der Aufruf erfolgt immer mit den Konkreten Parametern – in diesem Fall also keinen (void).
Gruß,
_HP_






Zitieren

Lesezeichen