- LiFePO4 Speicher Test         
Ergebnis 1 bis 6 von 6

Thema: STM32 als Arduino

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Zitat Zitat von White_Fox Beitrag anzeigen
    Naaaajaa...

    Ich habe unlängst für ein Projekt an meiner Hochschule den STM32 vorgeschlagen (Arduino war in einigen Aspekten nicht mehr ausreichend). Irgendjemand hat dann zur Programmierung die mbed-IDE vorgeschlagen (Online-Compiler, mbed.org mein ich).

    Da waren erstmal alle begeistert weil ja so unfassbar einfach, genauso wie bei der Arduino-IDE. Ich hab von Arduinokram keine Ahnung-AVRs programmiere ich in ASM oder C.
    Da sprichst Du einen wichtigen Punkt an. Wenn man eine neues Werkzeug oder System benutzen will, muss man sich darauf einlassen um die Stärken und Schwächen kennenlernen. Dabei ist es oft so, dass man mit den aus alten Projekten gemachten Erfahrungen an die neue Sache herangeht. Das kann aber dazu führen, dass man auf Probleme stößt, die man mit dem alten Werkzeug nicht hatte.

    Das folgende kleine Geschichte:

    Ein Mann hatte jahrelang mit einem Schraubenzieher gearbeitet und nun etwas von einem Akkuschrauber gehört. Nachdem er sich einen angeschafft hatte, machte er folgende Aussage:
    "Akkuschrauber sind totaler Mist. Früher hatte ich immer den Schraubenzieher auf die Schraube gesetzt und erst mal mit dem Hammer ein wenig darauf geklopft, damit die Schraube fasst. Mit dem tollen neuen Gerät kann ich nicht mal mehr die Schraube anklopfen."
    Außerdem würde er Schraubenzieher seit Jahren benutzen und es gäbe nichts, was man mit einem Akkuschrauber mehr machen könne als mit einem Schraubenzieher. So könne man z.B. mit einem Schraubenzieher auch hartnäckige Farbreste abkratzen, was mit einem Akkuschrauber nicht möglich sei. Ebenso müsse man beim Akkuschrauber hin und wieder die Batterien laden. Ein Zeitaufwand, der beim Schraubenzieher entfällt.
    Überhaupt schiene es ihm, als wenn der Akkuschrauber nur für schwächliche Menschen entwickelt worden wäre , die von Schrauben keine Ahnung hätten.
    Deshalb erschiene ihm die Entwicklung des Akkuschraubers völlig unnötig und er bleibe beim bewähren Althergebrachten.



    Zitat Zitat von White_Fox Beitrag anzeigen
    Naaaajaa...

    Blöd geschaut hab ich dann. als ich mich dann an das Programmdesign gemacht habe. Einem ADC-Messwert sowas wie einen Zeitstempel zuordnen? Ich hatte nichtmal die Möglichkeit, wenigstens festzustellen ob ich einen neuen oder den alten ADC-Wert nocheinmal auslese. Alle drei ADCs synchron laufen lassen? Wenigstens die Sample-Frequenz ändern/rausfinden? Alles Mist...
    Für die Systemzeit gibt es bei Arduino die Funktionen "millis()" und "micros()"

    Den Zeitstempel würde man dann in etwas so erhalten

    Code:
    void loop()
    {
    value=analogRead(A0);
    time=millis();
    ..
    }
    Die Abstraktion der Funktionen ( HAL Hardware-Abstraktion-Layer ) ist dabei der Tatsache geschuldet, dass die Software auf vielen verschiedenen MCUs vom 8 bit AVR bis zum ARM oder Intel laufen soll.
    ( Für den RasPi gibt es dazu, Wiring ist die Pin-Zugriffs-API von Arduino "the undold historiy of Arduino )

    Dass mit solchen Abstraktionen nicht die selbe Performance wie für "native" geschriebene Software erreicht wird ist klar.
    Dazu gibt es aber Lösungen: So beinhalten viele Arduino Libraries direkte Registerzugriffe für die AVRs, was die volle Geschwindigkeit ermöglicht.
    Beim Arduino Framework STM32GENERIC gibt es dazu die Möglichkeit, direkt die HAL-API zu rufen. Beispiele sind dort enthalten.
    Damit lassen sich dann auch spezielle Wünsche bezüglich der Hardware wie z.B. den AD-Wandler realisieren.

    Links:

    - The untold history of Arduino
    - STM32GENERIC
    - WiingPi
    Geändert von stochri (20.08.2017 um 09:00 Uhr) Grund: Rechschreibfehler + Erweiterung der Geschichte

  2. #2
    HaWe
    Gast
    zu deinen Links:
    the "untold history" kannte ich bereits - sollte jeder lesen, der sich mit Arduino beschäftigt, insb. um ein wenig zu Banzi's Geschäftspraktiken zu erfahren.

    WiringPi indes hat nichts mit Wiring zu tun, es ist weder in C++ geschrieben (sondern in ANSI C) noch besitzt es die Wiring-spezifischen Java Wrapper zum Verlinken der Board-specs, -cores und -libs, wie sie ursprünglich sogar noch teilweise auf Processing zurückgehen. Stattdessen werden nur ein paar C-typische Linux-Befehle mit C-Wrappern versehen, um die file/devtree Zugriffe zu vereinfachen, und das Ergebnis sieht dann tatsächlich ein wenig - aber längst nicht ganz - Arduino-Wiring-ähnlich aus: http://www.mindstormsforum.de/viewto...tart=15#p67924

    Nichtsdestoweniger aber gibt es das "echte" Arduino-IDE/API-Wiring für den Pi auch als Framework, um ihn wie Arduinos (oder STM32 oder Teensys oder nodeMCU) aus der Arduino IDE heraus zu programmieren, und zwar hier:
    https://github.com/me-no-dev/RasPiArduino
    Features

    The familiar Arduino API
    pinMode/digitalRead/digitalWrite/analogWrite
    Full SPI, Wire and Serial compatibility
    Access to STDIN/STDOUT through the Console class
    Access to system tty through the TTY library
    Process, FileIO, Client, Server and UDP implementations through the Bridge library
    ...
    Restart Arduino IDE and select the RaspberryPI from the list of boards
    Compile a sketch
    Geändert von HaWe (20.08.2017 um 10:30 Uhr)

Ähnliche Themen

  1. STM32 - Interrupts
    Von White_Fox im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 7
    Letzter Beitrag: 05.11.2016, 20:43
  2. STM32 + Kamera
    Von Wsk8 im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 15
    Letzter Beitrag: 11.03.2014, 20:26
  3. stm32 discovery mit openocd
    Von drew im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 1
    Letzter Beitrag: 01.12.2012, 19:09
  4. stm32 discovery
    Von drew im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 17
    Letzter Beitrag: 07.04.2011, 16:55
  5. STM32 + blinkende LED
    Von Mountainking im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 41
    Letzter Beitrag: 11.11.2009, 14:48

Berechtigungen

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

Solar Speicher und Akkus Tests