Arduino-Oszilloskop [Arduino-Control]

@MaFu: Vielen Dank für dein AnalogRead - Beschleuniger Beispiel. Du meinst das hier unten angefügte ?
Werd ich mal tiefer einsteigen, was die 3 Bits im ADCSRA Register bedeuten und was für Nebeneffekte das wohl hat.
Danach kann man ganz normal analogRead aufrufen, oder muss man weiter direkt auf Register-Ebene programmieren ?

Um nur Werte für Trends zu übertragen, kann man auch ein bisschen an der Genauigkeit sparen

      byte value = analogRead(0) >> 2;

und dadurch die Übertragungsgeschwindigkeit verdoppeln ( gegenüber deinem Vorschlag von 2 Byte für 0...0x3FF )

Eventuell ein (selten vorkommendes) Byte als "Escape" Zeichen definieren ( z.B. 0xFC):
Falls der zu übertragende Wert tatsächlich 0xFC ist, werden 2 Bytes FC übertragen, ansonsten kommt nach 0xFC irgendwas anderes. (z.B. ASCII Text, die Länge eines nächsten Datenblocks, etc.)


Hier der Code aus MaFu's link:

//An den Anfang des Sketches:
#ifndef cbi
 #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
 #endif
 #ifndef sbi
 #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
 #endif
 
//Und dann in die setup() Routine:
 
 sbi(ADCSRA,ADPS2);
 cbi(ADCSRA,ADPS1);
 cbi(ADCSRA,ADPS0);