Hallo
Das es mit den tastern tausend möglichkeiten gibt kann ich verstehen, aber ich habe da nochmal eine Frage und zwaar habe ich mal ein Programm aus dem Asuro Buch übernommen um mal zu testen ob jeder Taster Funktioniert aber wenn ich das Programm zu einer Hex Datei wandeln will zeigt er Fehler an und zwar in diesem Programm hier:
Code:
#include "asuro.h"
#include <stdlib.h>
#define OFFSET 0x3F
#define RWD_KEY ´2´
#define FWD_KEY ´8´
#define LEFT_KEY ´4´
#define RIGHT_KEY ´6´
#define STOP_KEY ´5´
volatile unsigned char switchPressed;
int speedLeft,speedRight;
SIGNAL (
void PCStop (void)
{
speedRight = speedLeft = 0;
FrontLED(OFF);
BackLED(OFF,ON);
}
int main (void)
{
unsigned char cmd;
unsigned char leftDir = FWD rightDir = RWD; // Zeile 79
int();
StartSwitch();
sei();
for(;;) {
cmd = 0;
SerRead (&cmd,1,0xFFFE);
switch (cmd) {
case RWD_KEY : PCRwd(); break;
case FWD_KEY : PCFwd(); break;
case LEFT_KEY : PCLeft(); break;
case RIGHT_KEY : PCRight(); break;
case STOP_KEY : PCStop(); break;
}
if (speedLeft > 0 && speedLeft < OFFSET)
speedLeft +=OFFSET;
if (speedLeft < 0 && speedLeft < -OFFSET)
speedLeft -=OFFSET;
if (speedRight > 0 &&speedRight < OFFSET)
speedRight += OFFSET;
if (speedRight < 0 &&speedRight > -OFFSET)
speedRight -= OFFSET;
if (switchPressed) {
speedLeft = 0;
speedRight = 0;
switchPressed = 0;
}
leftDir = rightDir = FWD; //Zeile 108
if (speedLeft < 0) leftDir = RWD;
if (speedRight < 0) rightDir = RWD;
if (speedLeft > 255) speedLeft = 255;
if (speedLeft < -255) speedLeft = -255;
if (speedRight > 255) speedRight = 255;
if (speedRight < -255) speedRight = -255;
MotorDir(leftDir,rightDir);
MotorSpeed (abs (speedLeft),abs (speedRight));
}
return 0;
und da zeigt er mir folgende Fehler an:
Code:
r-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
test.c: In function `main':
test.c:79: error: parse error before "rightDir"
test.c:80: error: parse error before ')' token
test.c:87: error: stray '\264' in program
test.c:87: error: stray '\264' in program
test.c:88: error: stray '\264' in program
test.c:88: error: stray '\264' in program
test.c:89: error: stray '\264' in program
test.c:89: error: stray '\264' in program
test.c:89: warning: implicit declaration of function `PCLeft'
test.c:90: error: stray '\264' in program
test.c:90: error: stray '\264' in program
test.c:91: error: stray '\264' in program
test.c:91: error: stray '\264' in program
test.c:108: error: `rightDir' undeclared (first use in this function)
test.c:108: error: (Each undeclared identifier is reported only once
test.c:108: error: for each function it appears in.)
test.c:120:10: warning: no newline at end of file
test.c:120: error: parse error at end of input
make: *** [test.o] Error 1
Die meisten Fehler konnte ich mittlerweile auch schon selber korrigieren aber bei denne weiß ich nicht weiter.
Vielleicht wäre jemand von euch nochmal so nett sich das Programm zu gemühte führt.
Ich wäre euch sehr dankbar dafür!
(Und nochmal was anderes gibt es irgendwo eine seite wo man sich besipiel Programme runterladen bzw einsehen kann? weil dann könnte man sich da auch anregungen holen. Ich habe bei Google schon gesucht aber nicht wirklich was gefunden)
Mfg
Felix
Lesezeichen