- Labornetzteil AliExpress         
Ergebnis 1 bis 3 von 3

Thema: Compilerfehler mit CTC Timer, Arduino Mega.

  1. #1
    Neuer Benutzer
    Registriert seit
    20.10.2014
    Ort
    Lörrach, Baden
    Beiträge
    4

    Compilerfehler mit CTC Timer, Arduino Mega.

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute,

    ich bin gerade dabei für eine Robotersteuerung einen Timer in meinen Scetch zu Integrieren.
    Als Vorlage habe ich die Anleitung von Heise unter: https://www.heise.de/developer/artik...s-3273309.html verwendet.
    Da Timer 1 der im Heise Beispiel scheinbar von der Servo Library benötigt wird, verwende ich Timer 3.
    Die Version mit dem Überlauf eines Timer-Registers funktioniert einwandfrei.
    Hier der Code:


    void setup()
    {
    ....
    noInterrupts();
    // Gem Heise:

    TCCR3A = 0;
    TCCR3B = 0;
    TCNT3 = 34286;
    TCCR3B |= (1 << CS12) | (1 << CS10);
    TIMSK3 = (1 << TOIE3);

    interrupts();
    ....
    }

    ISR(TIMER3_OVF_vect)
    {
    TCNT3 = 34286;
    ....
    }


    Verwende ich aber die CTC (Clear Timer on Compare Match) Methode,
    Hier der Code:


    void setup()
    {
    ....
    noInterrupts();
    // Gem Heise:
    TCCR3A = 0;
    TCCR3B = 0;
    TCNT3 = 0;
    OCR3A = 32150;
    TCCR3B |= (1 << CS12) | (1 << CS10);
    TIMSK3 = (1 << OCIE3A);

    interrupts(); // Alle Interrupts aktivieren
    ....
    }
    ISR(TIMER3_COMPA_vect)
    {
    ....
    }


    .. bekomme ich die folgende Fehlermeldung:

    Kompiliere ... Fertig!
    Kompiliert um: 16:19:18

    libraries\Servo\avr\Servo.cpp.o (symbol from plugin): In function `ServoCount':

    (.text+0x0): multiple definition of `__vector_32'

    sketch\Robot_2016_1_6.ino.cpp.o (symbol from plugin).text+0x0): first defined here

    c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions

    collect2.exe: error: ld returned 1 exit status

    Mehrere Bibliotheken wurden für "IRremote.h" gefunden
    Benutzt: C:\Users\klaus\Documents\Arduino\libraries\IRremot e
    Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\RobotIRremote
    exit status 1
    Fehler beim Kompilieren für das Board Arduino/Genuino Mega or Mega 2560.

    Kann mir jemand Erklären was da los ist?

    Grüsse Klaus

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    1. Du hast die Bibliothek 2 mal auf dem Rechner. Das ist nicht schlimm, aber es wird beim Kompilieren immer eine Meldung ausgegeben, welche Bibliothek benutzt wurde.

    2. In der Servo-Bibliothek wird ISR(TIMER3_COMPA_vect) [Servo.cpp, Zeile 86ff] bereits definiert. Dann versuchst du es im Sketch ein zweites mal zu definieren, was nicht erlaubt ist.
    Die Servo-Bibliothek verwendet je nach Prozessor unterschiedliche und unterschiedlich viele Timer [siehe:ServoTimers.h, Zeile 34ff]. Die Bibliothek findest du unter: C:\Program Files (x86)\Arduino\libraries\Servo\src\avr.
    Wenn du es dir leicht machen willst, erweiterst du die Zeile #include <Servo.h> in deinem Sketch so:
    Code:
    #undef __AVR_ATmega2560__
    #include <Servo.h>
    #define __AVR_ATmega2560__
    Dann wird nur Timer1 benutzt und es können maximal 12 Servos verwendet werden.

  3. #3
    Neuer Benutzer
    Registriert seit
    20.10.2014
    Ort
    Lörrach, Baden
    Beiträge
    4
    Danke für den Tip!
    Gruß Klaus

Ähnliche Themen

  1. Arduino Mega mit LCD I2C
    Von Ezekiel im Forum Arduino -Plattform
    Antworten: 11
    Letzter Beitrag: 12.01.2016, 09:50
  2. Timer 0 Mega 16
    Von MasterMX im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 13
    Letzter Beitrag: 04.01.2010, 15:48
  3. 16bit-PWM mit Timer 1 (Mega 8)
    Von Sauerbruch im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 26.10.2007, 16:36
  4. BAscom Compilerfehler???
    Von darxon69 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.07.2007, 13:27
  5. AVR mega 16 Timer/Quarzprobleme
    Von Involut1 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 04.07.2004, 11:05

Berechtigungen

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

12V Akku bauen