Eigentlich genau so wie du es jetzt hast. In der ADC-ISR verbindest du den ADC mit dem Port, den du samplen willst. Die Verbindung wird hergestellt über den ADC Input-Multiplexer. Anstatt ein Wert adc_raw gibt es dann eben (z.B) ein Array adc_raw[3], das die gesampleten Werte transportiert.
Noch was. Den Zugriff auf adc_raw in deinem Hauptprogramm hast du atomar? Falls nicht, liest du u.U unsinnige Werte.
Lesezeichen