Hallo Martin,

die AD-Wandlung ist ein asynchroner Vorgang der im Hintergrund ablaufen kann und zwischenzeitlich die "CPU" nur zum Umschalten des ADC-Kanals und ablegen der Messwerte in Zwischenvariablen in Anspruch nimmt (ADC-ISR). Ferner wird der ADC auf einem externen µC auch nicht schneller laufen.

Bei I²C oder SPI brauchst du in irgend einer Form ein Protokoll, dessen Auswertung wahrscheinlich mehr Aufwand darstellen wird. Und nur weil dein Übertragungskanal eine fixe Bandbreite hat, ist das noch lange keine Aufforderung, das als Geschwindigkeitsreferenz zu verwenden ... so wirst du nur vom Timing deines Co-Prozessors abhängig.

Außerdem ist die Idee, die komplette Regelung in einer ISR unterzubringen, tendenziell eher schlecht. Ich für meinen Teil werde die Regelung in die Hauptschleife einbauen und dort in regelmäßigen Abständen lostreten (über ein Flag). Unabhängig davon wird der ADC die ganze Zeit seine Kanäle auswerten und die Ergebnisse in globalen Variablen ablegen. So ist nur etwas Vorsicht beim einsynchronisieren der Messwerte erforderlich.

mfG
Markus