- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 20

Thema: 250µs-Timer für Arduino Due

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    haha, "Da brauchst du unleserliche und unverständliche SAM3 Codes."
    und der ist auch gut: "dieses schöne 1800 seitige Datenblatt vom Prozessor ..."

    na wunderbar :-/

    rtos sieht zwar auf den ersten Blick gar nicht sooo schwierig aus -
    (edit - ok - auf den zweiten allerdings schon... )
    ich hatte mir aber auch schon überlegt, die Scheduler-Lib zu benutzen, wenn das nicht geht.

    z.B per
    void loop1() { // neue Endlosschleife //
    // Encoderstellungen auslesen //
    // dann irgendwie berechnen //
    // dann ein Yield() fürs koop. Multitasking //
    // dann vllt ein paar µs warten //
    }

    Hast du Erfahrung mit der Scheduler-Lib?

    Zeitscheibenverhalten (Echtzeit ist es sicher nicht) ist dann aber nur die eine Sache,
    aber die andere ist dann Encoder auslesen und berechnen - das muss dann ja auch wieder von Grund auf neu programmiert werden

    Fangen wir beim 1. Problem mal an:
    Was hältst du / haltet ihr von der Scheduler-Lib ?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Na dann antworte ich mal für mich.

    Der Due ist ganz nützlich, wenn ich mal einen Controller mit vielen IOs und vielen UARTs brauche. Ansonsten halte ich vom Due und der zugehörigen Arduino Software nicht viel. Der Due ist nur eine Durchgangsstation, die echten Fans ignorieren ihn. Wer sich darauf einlässt, erkennt schnell, dass es bessere Alternativen gibt.

    Arduino ist primär 8-Bit. Ob der Arduino Zero daran etwas ändern wird, bleibt abzuwarten.

  3. #3
    HaWe
    Gast
    ja, ich brauchte ihn, weil ich
    - mindestens annähernd so viele I/Os brauche wie beim Mega für meine 6-8 Encodermotore mit pwm (5 digit. pins pro Motor)
    - multitaskingfähig
    - 2 unabhängige Hardware-i2c-Ports, beide als Slave benutzbar
    - mehr Speicher für anspruchsvollere Programme (mindestens ~100k RAM, am liebsten noch mehr)
    - und mehr Rechenpower, mindestens 10x so schnell wie die AVRs (Mega), was der Due ja kann.
    - eine einfache IDE wie Sketch war auch Vorraussetzung, Eclipse oder VS sind für mich der Horror.

    nu hab ich ihn als Hardware - und hoffte eigentlich, die Arduino-Entwickler haben auch an den Soft-Teil gedacht, um ihn auch nutzen zu können...

    aber zurück zum 1. Fragenkomplex -

    kennst du die Scheduler-Lib, und falls ja:
    - was hälst du davon
    - und denkst du, man kann extra-loops für Encoder Reading verwenden ?

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Nachtrag:

    Die mbed-Beispiele für Encoder verwenden alle Interrupts:
    http://developer.mbed.org/cookbook/QEI
    http://developer.mbed.org/teams/OpenMoCo/code/QEIx4/

    Das sollte man mit dem Due und Standard-Arduino Code eigentlich nachbauen können.
    The Arduino Due board has powerful interrupt capabilities that allows you to attach an interrupt function on all available pins. You can directly specify the pin number in attachInterrupt().
    - - - Aktualisiert - - -

    Zitat Zitat von HaWe Beitrag anzeigen
    kennst du die Scheduler-Lib, und falls ja:
    Nur mal kurz angesehen, nie in einem Projekt benutzt. Ich verwende mbed-RTOS.

    Für Encoder würde ich eher zu Interrupts tendieren. S.o.

  5. #5
    HaWe
    Gast
    zu den Links:
    http://developer.mbed.org/cookbook/QEI
    http://developer.mbed.org/teams/OpenMoCo/code/QEIx4/

    ...was man da jetzt für die Encoder als libs (Ordner) in den Arduino-Sketch-Ordner kopieren muss, und wie das dann im Sketch-Programm später aussieht, erkenne ich da ehrlich gesagt nicht so recht...

    mbed-RTOS ist mir zu schwierig, denke ich.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Kopieren soll man da nichts.

    Man muss das in Sketch nachprogrammieren. Dazu schaut man sich den Source an, z.B.
    http://developer.mbed.org/users/aber...1551aa/QEI.cpp

    Da tauchen Sachen auf wie
    Code:
    QEI::QEI(PinName channelA,
             PinName channelB,
    und
    Code:
        channelA_.rise(this, &QEI::encode);
        channelA_.fall(this, &QEI::encode);
     
        //If we're using X4 encoding, then attach interrupts to channel B too.
        if (encoding == X4_ENCODING) {
            channelB_.rise(this, &QEI::encode);
            channelB_.fall(this, &QEI::encode);
        }
    D.h. es gibt da Pins für Channel A und B. Steigenden und fallenden Flanken daran werden Funktionen zugeordnet, hier überall die gleiche.

    So was ähnliches muss man sich in Sketch auch schreiben.

  7. #7
    HaWe
    Gast
    ach so, ganz neu schreiben - das hatte ich nicht verstanden, ich dachte bis jetzt, das wäre schon für Sketch.
    Das kann ich allerdings leider nicht, dazu verstehe ich zuwenig davon, und C++ kann ich überhaupt nicht - nur nacktes C (oder eben extrem abgespeckte Objekte wie z.B. Serial und entsprechend automatisch included und aufbereitet wie in Sketch).

Ähnliche Themen

  1. G-Code Interpreter Arduino Due, CNC-Fräse
    Von stevie3354 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 9
    Letzter Beitrag: 26.12.2014, 15:36
  2. [ERLEDIGT] I2C Problem mit dem Arduino DUE
    Von jok3r im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 2
    Letzter Beitrag: 22.03.2014, 12:21
  3. Arduino Due + Treiber + Schrittmotor PROBLEM
    Von stevie3354 im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 30.01.2014, 23:11
  4. Arduino Due HSMCI - SD/SDIO/MMC
    Von Superhirn im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 0
    Letzter Beitrag: 25.01.2013, 10:57
  5. Arduino Due erschienen
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 24.10.2012, 22:20

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress