-         

Ergebnis 1 bis 5 von 5

Thema: Fehler im Programm ?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.11.2009
    Beiträge
    29

    Fehler im Programm ?

    Anzeige

    Hi
    Ich habe hier einen fehler und weiss nicht welchen.

    Code:
    //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.

    Code:
    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

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    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);
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich glaub, du musst das ";" bei deinen "defines" weglassen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    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.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.11.2009
    Beiträge
    29
    Danke Problem gelösst

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •