.. oder: kann ein ESP8266-12F nen number cruncher machen ? ?
Zitat von
oberallgeier
Für sin hatte ich nie Werte. Aber für den .. Zeitbedarf des atan hatte ich mal was gerechnet (und Sternthaler) ..
.. und dann flattert mir in den letzten Tagen ein klitzekleiner 32Bitter (ESP8266-12F) auf die Arbeitsplatte. Danke Sternthaler.
Nebensache: das erste Mal im Leben in die arduino IDE einarbeiten (brrrrrr). Die Ergebnisse scheinen mir interessant.
Code:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Auszug aus meinem Logbuch [Inst-Logb_arduino_ab_Mai-2022.txt] . Stark gekürzt (ohne jeweilige Anmerkung)
Hintergrund ist meine ALTE Überlegung zur Bahnplanung des archie beim Fahren ABER auch zur Bewegung
mehrgliedriger "Arme" nach Art von Roboter-Bewegungsroutinen. Da benötige ich vielfach Wurzel und Arcustangens
. . . und ich dachte, dass z.B. so ein ESP auch als Numbercruncher herhalten könnte. Wobei ich die Tests hier -
die mit den herkömmlichen Rechnern 328P und 1284P - noch nie gemacht hatte. Leider.
- - - - - - - - - - - - - Auszug - - - - - - - - - - - - -
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
16. 6.2022 19:40 Studio4/1284p@20MHz Messung SQRT 22.7 µs ATAN 130.2 µs
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
16. 6.2022 10:ff Studio4/328p/nano@20MHz Messung SQRT 24.7 µs ATAN 169. µs
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
15. 6.2022 18:ff Studio4/328p/nano@16MHz Messung SQRT 30.9 µs ATAN 185.6 µs
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
15. 6.2022 16:50 ainoIDE/nano328.ino/nano@16MHz Messung SQRT 3.71 µs atan 3.71 µs
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
15. 6.2022 15:08 ainoIDE/ESP12F2.ino/ESP12F@80MHz Messung SQRT 6.94 µs atan 30.57 µs
ainoIDE/ESP12F2.ino/ESP12F@160MHz Messung atan 15.29 µs
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Anm2.: anano, aino und ähnlich bedeutet hier arduino-nano oder arduino-IDE-file und ähnlich.
- - - - - - - - - - - - - Ende - - - - - - - - - - - - -
Das mit dem arduino-nano-Clone+arduinoIDE @16 MHz gefahrene Ergebnis wurde mehrfach wiederholt - es bleibt bis auf Nachkommastellen gleich. Bedauerlicherweise gibt es (? find ich jedenfalls nicht) bei/durch die arduino-IDE keinen Output ähnlich den *.lls-Dateien beim Studio4 - sodass ich weder Rechenweg noch Rechenumfang der verschiedenen IDE´s beurteilen kann.
Auszug des Codes für Studio 4 - die *.ino-Version ist gleich(-wertig).
Code:
/* >>
Stand D:\D_pro-f..Std4-1284p\Messg-sq+at-Std4-1284\Messg-sq+at-Std4-1284.c
=============================================================================== =
Target MCU : ATmega Mega1284P TQFP
Target Hardware : 1284Platine-archie
Target cpu-frequ. : 20 MHz
. . . alles Weitere stark gekürzt, meist/teils ohne besondere Anmerkung
============================================================================== */
// ============================================================================= =
// === HAUPTProgramm ========================================================== =
. . . gekürzt
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int main(void)
{ //
. . . gekürzt
float mf = 21.1415926F; // mf = millisfloat
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. . . gekürzt
while ( 1 ) // Das eigentliche Hauptprogramm
{ //
// - - - - - - - - - - - - - - - -
PORTA |= ( 1<<5 );
rt = sqrt ( mf ); //
PORTA &= ~( 1<<5 );
wms ( 2 ); //
// - - - - - - - - - - - - - - - -
PORTA |= ( 1<<5 );
rt = atan ( mf ); //
PORTA &= ~( 1<<5 );
wms ( 20 ); // 22062022-16h38: bei 100 => ca. alle 4 ms
// - - - - - - - - - - - - - - - -
mf = mf + 0.01415926F; // Wert ändern
rt2 = rt; //
// - - - - - - - - - - - - - - - -
} // Ende while ( 1 )
. . . gekürzt
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
return 0; //
} //
// ===== Ende des Testabschnittes, er kann aus mehreren Abschnitten bestehen ====
// ===============================================================================
/* Übersetzungskommentar: Programsize Datasize
Build 16. 6.2022 13:12:10 3908 bytes ( 3.0%) 284 bytes (1.7%)
16. 6.2022 13:18:01 3904 bytes ( 3.0%) 280 bytes (1.7%)
Build succeeded with 0 Warnings...
============================================================ */
Zur Messung auf M1284P@20MHz/Studio-4 gibts auch z.B. für den ATAN dieses Messbild (der Linienzug vor der Markierung stammt von "SQRT").
Lesezeichen