Irgendwas mache ich immer noch falsch!
Code:
funktionen.c: In function ‘Beschleunige’:
funktionen.c:51: error: ‘abgebrochen’ undeclared (first use in this function)...
main.c
Code:
#include "asuro.h"
extern int abgebrochen;
#include "funktionen.h"
int main(void)
{
// Initialisierung
Init();
sei();
StartSwitch();
// hier kommt der Hauptteil des Programms
StatusLED(RED);
while (1)
{
/*
** Nach einem erfolgreichen Beschleunigungsvorgang soll so lange weitergefahren
** werden, wie kein Hindernis kommt. Ansonsten wird an den Anfang der Schleife
** zurückgesprungen und wieder von 0 beschleunigt.
*/
if (Beschleunige(120, 150, 3))
{
while (abgebrochen == 0);
abgebrochen = 0;
}
}
return 0;
}
funktionen.c (Auszug)
Code:
#include "asuro.h"
int Beschleunige(int start, int end, int zeit)
{
StatusLED(GREEN);
int momentan;
int durchlaeufe = end - start;
float zeitschritt = (float) zeit / (float) durchlaeufe * 1000;
for(momentan=start; momentan<end; momentan++)
{
// wenn die Geschwindigkeit von einem Interrupt verändert wurde, wird der Vorgang unterbrochen
if (abgebrochen == 1)
{
abgebrochen = 0;
return 0;
}
Geschwindigkeit(momentan, momentan);
Warte(zeitschritt);
}
return 1;
}
funktionen.h
Code:
int Beschleunige(int, int, int);
Lesezeichen