Bääääär
29.06.2007, 18:48
Ich habe die Fehlermeldung gleich als Thementitel genommen, da sie mich gleich 14 Mal erfreut.
Folgender Code...
//////////////////////////////////////////////////////////////////
// Odometrie- Programm //
//////////////////////////////////////////////////////////////////
// Autor: Johannes Neumann //
// Version: 1 //
// Beginn der Entwicklung: 29.06.2007 //
// Fertigstellung : xx.xx.xxxx //
//////////////////////////////////////////////////////////////////
// Includes ///////////////////////////////////////////////+
#include "asuro.h"
// Konstanten /////////////////////////////////////////////+
#define cBarrier = 600
#define cHysteresis = 15
#define cBlack = 0
#define cWhite = 1
// Main- Funktion: Interne Variablen //////////////////////+
unsigned char Speed = 255; // Festzulegende Geschwidigkeit von Asuro
signed int Counter = 0; // Der Counter, welcher den Unterschied zwischen Rechts und Links zählt
unsigned int OdoData[2] = {0,0}; // Variable für die Odometrie- Daten
signed int OdoStatus[2] = {0,0}; // Status (cBlack / cWhite) der einzelnen Räder
signed int Lights[2];
// Main- Funktion: Funktionskopf //////////////////////////+
int main(void) {
// Main- Funktion: Initialisierung ////////////////////////+
Init();
MotorDir(FWD, FWD);
OdometrieData(OdoData);
OdoStatus[0] = (OdoData[0] < cBarrier); // Festlegen der Startposition (cBlack / cWhite) durch Vergleich
OdoStatus[1] = (OdoData[1] < cBarrier); // der Daten mit der Grenze zwischen beiden Zuständen.
// Main- Funktion: Endlosschleife /////////////////////////+
while(1) {
OdometrieData(OdoData); // Odometriedaten einlesen
if ((OdoStatus[0] == cBlack) && (OdoData[0] < cBarrier - cHystersis))
{
OdoStatus[0] = cWhite; // Wenn der Linke Sensor von Schwarz auf Weiß wechselt...
Counter ++; // Zählen...
}
else
if ((OdoStatus[0] == cWhite) && (OdoData[0] > cBarrier + cHystersis))
{
OdoStatus[0] = cBlack; // Wenn der Linke Sensor von Weiß auf Schwarz wechselt...
Counter ++; // Zählen...
}
if ((OdoStatus[1] == cBlack) && (OdoData[1] < cBarrier - cHystersis))
{
OdoStatus[1] = cWhite; // Wenn der Rechte Sensor von Schwarz auf Weiß wechselt...
Counter --; // Zählen...
}
else
if ((OdoStatus[1] == cWhite) && (OdoData[1] > cBarrier + cHystersis))
{
OdoStatus[1] = cBlack; // Wenn der Rechte Sensor von Weiß auf Schwarz wechselt...
Counter --; // Zählen...
}
Lights[0] = OdoStatus[0]; // BackLed- Status setzen
Lights[1] = OdoStatus[1];
BackLED(Lights[0], Lights[1]); // BackLeds setzen
if (Counter < -255) Counter = -255;// Überlauf verhindern
if (Counter > 255) Counter = 255;// - || -
if (Counter > 0) MotorSpeed(Speed - Counter, Speed)
else
if (Counter < 0) MotorSpeed(Speed, Speed + Counter);
}
return 0;
}
...erzeugt beim Compillieren mit der AsuroLib folgenden Fehler:
test.c:34: error: parse error before '=' token
test.c:35: error: parse error before '=' token
test.c:41: error: parse error before '=' token
test.c:41: error: parse error before '=' token
test.c:43: error: parse error before '=' token
test.c:47: error: parse error before '=' token
test.c:47: error: parse error before '=' token
test.c:49: error: parse error before '=' token
test.c:53: error: parse error before '=' token
test.c:53: error: parse error before '=' token
test.c:55: error: parse error before '=' token
test.c:59: error: parse error before '=' token
test.c:59: error: parse error before '=' token
test.c:61: error: parse error before '=' token
test.c:74: error: parse error before "else"
Ich weiß echt nicht, was an meinen "="s so schlimm sein soll. Kann mir jemand helfen?
Danke schonmal,
Bääääär
Folgender Code...
//////////////////////////////////////////////////////////////////
// Odometrie- Programm //
//////////////////////////////////////////////////////////////////
// Autor: Johannes Neumann //
// Version: 1 //
// Beginn der Entwicklung: 29.06.2007 //
// Fertigstellung : xx.xx.xxxx //
//////////////////////////////////////////////////////////////////
// Includes ///////////////////////////////////////////////+
#include "asuro.h"
// Konstanten /////////////////////////////////////////////+
#define cBarrier = 600
#define cHysteresis = 15
#define cBlack = 0
#define cWhite = 1
// Main- Funktion: Interne Variablen //////////////////////+
unsigned char Speed = 255; // Festzulegende Geschwidigkeit von Asuro
signed int Counter = 0; // Der Counter, welcher den Unterschied zwischen Rechts und Links zählt
unsigned int OdoData[2] = {0,0}; // Variable für die Odometrie- Daten
signed int OdoStatus[2] = {0,0}; // Status (cBlack / cWhite) der einzelnen Räder
signed int Lights[2];
// Main- Funktion: Funktionskopf //////////////////////////+
int main(void) {
// Main- Funktion: Initialisierung ////////////////////////+
Init();
MotorDir(FWD, FWD);
OdometrieData(OdoData);
OdoStatus[0] = (OdoData[0] < cBarrier); // Festlegen der Startposition (cBlack / cWhite) durch Vergleich
OdoStatus[1] = (OdoData[1] < cBarrier); // der Daten mit der Grenze zwischen beiden Zuständen.
// Main- Funktion: Endlosschleife /////////////////////////+
while(1) {
OdometrieData(OdoData); // Odometriedaten einlesen
if ((OdoStatus[0] == cBlack) && (OdoData[0] < cBarrier - cHystersis))
{
OdoStatus[0] = cWhite; // Wenn der Linke Sensor von Schwarz auf Weiß wechselt...
Counter ++; // Zählen...
}
else
if ((OdoStatus[0] == cWhite) && (OdoData[0] > cBarrier + cHystersis))
{
OdoStatus[0] = cBlack; // Wenn der Linke Sensor von Weiß auf Schwarz wechselt...
Counter ++; // Zählen...
}
if ((OdoStatus[1] == cBlack) && (OdoData[1] < cBarrier - cHystersis))
{
OdoStatus[1] = cWhite; // Wenn der Rechte Sensor von Schwarz auf Weiß wechselt...
Counter --; // Zählen...
}
else
if ((OdoStatus[1] == cWhite) && (OdoData[1] > cBarrier + cHystersis))
{
OdoStatus[1] = cBlack; // Wenn der Rechte Sensor von Weiß auf Schwarz wechselt...
Counter --; // Zählen...
}
Lights[0] = OdoStatus[0]; // BackLed- Status setzen
Lights[1] = OdoStatus[1];
BackLED(Lights[0], Lights[1]); // BackLeds setzen
if (Counter < -255) Counter = -255;// Überlauf verhindern
if (Counter > 255) Counter = 255;// - || -
if (Counter > 0) MotorSpeed(Speed - Counter, Speed)
else
if (Counter < 0) MotorSpeed(Speed, Speed + Counter);
}
return 0;
}
...erzeugt beim Compillieren mit der AsuroLib folgenden Fehler:
test.c:34: error: parse error before '=' token
test.c:35: error: parse error before '=' token
test.c:41: error: parse error before '=' token
test.c:41: error: parse error before '=' token
test.c:43: error: parse error before '=' token
test.c:47: error: parse error before '=' token
test.c:47: error: parse error before '=' token
test.c:49: error: parse error before '=' token
test.c:53: error: parse error before '=' token
test.c:53: error: parse error before '=' token
test.c:55: error: parse error before '=' token
test.c:59: error: parse error before '=' token
test.c:59: error: parse error before '=' token
test.c:61: error: parse error before '=' token
test.c:74: error: parse error before "else"
Ich weiß echt nicht, was an meinen "="s so schlimm sein soll. Kann mir jemand helfen?
Danke schonmal,
Bääääär