PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler im Programm ?



donald_dack
15.11.2009, 01:57
Hi
Ich habe hier einen fehler und weiss nicht welchen.




//Motor und lenkung
#define VOHR = 0b00101100;
#define ZURUECK = 0b00110100;
#define LINKS = 0b00100110;
#define RECHTS = 0b00100101;
#define GERADE = 0b00100111;
#define BREACK = 0b00111111;

//Sensoren melden 0 wen aktiv
#define V_MITE = 0b00111101;
#define V-LINKS = 0b00111011;
#define V_RECHTS = 0b00111110;
#define H_MITE = 0b00101111;
#define H_LINKS = 0b00011111;
#define H_RECHTS = 0b00110111;

//debug LEDs
#define LED_ROT = 0b10000000;
#define LED_GRUEN = 0b01000000;

#include <avr/io.h>
//#include <avr/interrupt.h>

//volatile unsigned int wert=0;

int main(void)
{

DDRB = 0xFF; //Ausgang
DDRC = 0x00; //Eingang

PORTB = LED_ROT; //Test

return 0;
}


und hier ist die dazu gehörige fehler ausgabe.



Build started 15.11.2009 at 01:45:30
avr-gcc -mmcu=atmega16 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Roboter.o -MF dep/Roboter.o.d -c ../Roboter.c
../Roboter.c:10:10: warning: ISO C99 requires whitespace after the macro name
../Roboter.c: In function 'main':
../Roboter.c:30: error: expected expression before '=' token
make: *** [Roboter.o] Error 1
Build failed with 1 errors and 1 warnings...


zu dem möchte ich noch eine kombination aus "VOHR" und "LINKS"

wie müsste ich das verknüpfen?

das gleiche mit den Sensoren.

Danke

Hubert.G
15.11.2009, 10:27
Du solltest mal ein C-Tutorial durcharbeiten.

Im #define V_links hast du einen Bindestrich anstelle Underline
es gehört weder = noch ; da hinein.

PORTB =(VOHR )|(LINKS);

PicNick
15.11.2009, 10:29
Ich glaub, du musst das ";" bei deinen "defines" weglassen.

Besserwessi
15.11.2009, 11:31
Nicht nur das ";", sondern auch das "=" ist zu viel bei den defines.

Bei den Verknüpfungen müßte man noch negauer wissen wie man die Konstanten benutzen will, und welche Verknüpfung man haben will. Die Bitweisen "und" bzw. "Oder" mit & bzw. | sollten helfen.

donald_dack
15.11.2009, 12:01
Danke Problem gelösst