Ich bin mit C für Controler nicht vertraut und bin nicht sicher, ob ich das aus dem Prog des RN Wissen Bereiche richtig erkenne. Aber das ist doch nur für einen Servo oder?
Ich hab das in Assembler gemacht. Das Prinzip ist, vier Ad Werte wandeln und im Ram speichern. Dabei wird immer Wert und dann dazugehöriger Pin abwechselnd gespeichert. Also der Kanal, auf dem der AD Wert entstand. Im nächsten Schritt wird alles der Größe nach sortiert. Zum Schluss muss noch der Fall behandelt werden, dass selbe Werte vorkommen. Dann wird der Timer2 mit IRQ alle bei 8 MHz, OCR2 = 32 gestartet und die Interrupte gezählt. stimmt die Anzahl mit einer Sollstellung überein, wird der entsprechende PIN LOW gesetzt und der nächste PIN sammt Stellung aus dem RAM gelesen.