Es gibt auch diverse X-Plain Boards.
Wie das hier z.B.
Es gibt auch diverse X-Plain Boards.
Wie das hier z.B.
Danke! Ich werde mich ein wenig mit dem Teensy 3.6 beschäftigen. Den hatte ich nicht auf dem Plan.
MfG
der 3.6 ist sogar multihreading-fähig, um mehrere threads pseudo-parallel zu betreiben, ohne dass sie andere behindern auch wenn sie länger brauchen pro Durchlauf
https://github.com/ftrias/TeensyThreads
https://github.com/ftrias/TeensyThre...link/Blink.ino
Weil jetzt Multithreading ins Spiel kommt, habe ich über die gesamte Aufgabenteilung nachgedacht.
Bei Timer-Interrupts besteht schon das Problem, dass ein Ereignis ausgesetzt wird, wenn ein anderes
noch nicht abgearbeitet ist. Bei 2 Timern, auf einem 328P, fällt das nicht auf, bei dem Code,
der drauf ausgeführt wird. Das ist noch übersichtlich.
Wenn ich auf einer CPU mit mehreren Timern parallel arbeite, weiß ich nicht, wie das dann mit
den Kollisionen aussieht. Geht vielleicht auch noch unmerkbar vorüber, wenn die CPU schnell
genug ist. Aber was passiert, wenn noch mehr Code hinzu kommt, der "parallel" ausgeführt wird.
Fällt das bei zeitkritischen Dingen nicht irgendwann auf, indem es an irgendeiner Stelle hängt und
hakt? Da fehlt mir so ein bißchen die Erfahrung und Vorstellung, wie geschmeidig das alles in allem
dann so läuft. Der Teensy 3.6, mit 180MHz, ist schon eine Hausnummer, denke ich, in Sachen
Geschwindigkeit. Beim ESP32 gibt es sogar 240MHz. Immerhin ist der Teensy 10mal schneller getaktet,
als ein ATmega328P. Beim Teensy habe ich noch nichts gefunden, wie die Timer (sind das alles Hardwaretimer?)
programmiert werden. Sind die Register identisch mit denen von einem Arduino? Es gibt eine Bibliothek,
die verschiedene "Timer" zur Verfügung stellt; allerdings - wenn ich das richtig verstanden habe,
regelt die das nicht per Hardwaretimer sondern die Aufgabenverteilung ist eine Softwarelösung (?).
Weiter bin ich noch nicht voran gekommen. Das sind noch einige Fragen bei mir offen.
Der Teensy 4.0 wäre auch noch eine Möglichkeit.
Der ist richtig schmal, 2.5mal so groß, wie ein 328P im DIP-Gehäuse.
MfG
Geändert von Moppi (25.05.2020 um 20:23 Uhr)
Das preemptive MT läuft absolut geschmeidig und seine threads behaken sich auch nicht, wenn etliche davon parallel ausgeführt werden, und außerdem sind immer noch Interrupts zusätzlich möglich. Schon 100MHz wären für das MT ausreichend.
Wenn man eher in Timern als in Threads denkt, gäbe es z.B. diese Library
https://github.com/luni64/TeensyTimerTool/wiki
bietet neben den Hardwaretimern auch 20 in Software realisierte Timer. Steht auf meiner Liste der Dinge, die ich mir mal ansehen will.
Den Teensy 4.0 gibt es inzwischen auch als 4.1 im langen Format (ähnlich 3.6).
Lesezeichen