
Zitat von
Klebwax
... Versuch die Zeiten mal zu messen. Mal so als Pseudocode: ...
Danke für den Tip, ich habe manchmal so meine Schwierigkeiten mit dem Messen von Zeiten - mit nem simplen, analogen Oskar - ohne Speicher, nicht triggerbar auf ein bestimmtes Vorkommnis - da bleibt mir halt in einigen Fällen nur das Messen wie hier gezeigt. Und das reicht doch ... siehe unten.

Zitat von
malthy
... kann es sein, dass hier die Zeit ... die das eigentliche Senden hardwaremäßig benötigt ...
Ja, so sehe ich das auch - und das ist ja das Erschreckende. Gefühlt ist so eine kleine Meldung schnell draussen. Da ich demnächst Daten per UART von einem Controller an den anderen senden will, sollte ich mal etwas genauer hinsehen - hat sich ja auch gelohnt (denn die Nachrechnerei hatte nicht so mit den Messwerten zusammengepasst). Gelohnt? Ich habe den RX- und den TX-Puffer zum FIFO von 16 auf 240 gesetzt - und siehe da - es geht schon recht ratzfatzer als vorher *ggg*.
Erste Messung: RX- und TX-Puffer sind 16 Bytes
Zeite Messung: Kleinere Byteanzahl (Text in Kurzform)
Dritte Messung: RX- und TX-Puffer sind 240 Bytes und Text wieder in Langform wie 1.
Code:
Boardtimer on
C506x00 CiCo m168/babyo/20MHz 14. Sep 2013 19:55
CIR-Controller, irLED auf PB1
UART (PD) mit 57 k Boardzeit [sek] 10 tupsi = 19958
Boardzeit [sek] 20 tupsi = 19958
Boardzeit [sek] 30 tupsi = 19958
Boardzeit [sek] 40 tupsi = 19958
Boardzeit [sek] 50 tupsi = 19958
Boardzeit [sek] 60 tupsi = 19958
Boardzeit [sek] 120 tupsi = 19954
Boardtimer on
C506x00 CiCo m168/babyo/20MHz 15. Sep 2013 19:10
CIR-Controller, irLED auf PB1
UART (PD) mit 57 k
B 10 t 19999
B 20 t 19999
B 30 t 19999
B 40 t 19999
B 50 t 19999
B 60 t 19999
B 120 t 19999
B 180 t 19999
B 240 t 19999
B 300 t 19999
Boardtimer on
C506x00 CiCo m168/babyo/20MHz 15. Sep 2013 19:40
CIR-Controller, irLED auf PB1
UART (PD) mit 57 k RX/TX-Puffer 240
Boardzeit [sek] 10 tupsi = 19998
Boardzeit [sek] 20 tupsi = 19998
Boardzeit [sek] 30 tupsi = 19998
Boardzeit [sek] 40 tupsi = 19998
Boardzeit [sek] 50 tupsi = 19998
Boardzeit [sek] 60 tupsi = 19998
Boardzeit [sek] 120 tupsi = 19998
Boardzeit [sek] 180 tupsi = 19998
Boardzeit [sek] 240 tupsi = 19998
Boardzeit [sek] 300 tupsi = 19998
Boardzeit [sek] 600 tupsi = 19998
Kleine Erläuterung zur Messzeit in "tupsi". Mein Heartbeat wird über meinen üblichen 50µs-Timer getoggelt - alle Sekunden einmal toggeln. Der 50µs-Timer ist für viele Zwecke praktisch, es gibt für bestimmte Auslöser auch lokale Counter, hier der "Isec_lk2", der mit dem Heartbeat-Toggle und der Zählung der Boardzeitsekunde hochgetickert wird. Die Ausgabe im Test, siehe erstes Posting, erfolgt, sobald der Isec_lk2 den abgefragten Wert erreicht hat - dieses Umschalten geschieht genau dann, wenn der 50-µs-Counter Izeit_1 von 0 auf 20000 gesetzt wird. Die Messzeiten sind also von 20000 abwärts zu werten.
Manchmal lohnt sich das Nachgucken, -denken, -fragen, -posten ...
Jedenfalls danke euch Beiden für die Denkanstöße. Schönen Sonntag
Lesezeichen