Hallo, ich hätte eine kurze Frage zum AD-Wandler in PICs. Und zwar
möchte ich in vier verschiedenen Interrupts jeweils eine Spannung
einlesen, d.h. bei Interrupt 1 soll AN0 eingelesen werden, bei Interrupt
2 AN1, usw.. Kann ich das so machen, dass ich einfach in dem jeweiligen
Interrupt mit
den gewünschten analogen Eingang zuweise, bevor ich durch Setzen des
SAMP-Bits das Sampeln und Konvertieren starte? An einer anderen Stelle
im Programm möchte ich dann noch zwei analoge Spannungen einlesen. Da
ich auf eine Auflösung von 12 Bit angewiesen bin, muss ich das
sequentiell machen. Habe mir das wie folgt überlegt:
1 | AD1CHSObits.CHSOSA = 0b00100;
|
2 | AD1CON1bits.SAMP = 1;
|
3 | while (!AD1CON1bits.DONE);
|
4 | wert1 = ADC1BUF0;
|
5 | AD1CHSObits.CHSOSA = 0b00101;
|
6 | AD1CON1bits.SAMP = 1;
|
7 | while (!AD1CON1bits.DONE);
|
8 | wert2 = ADC1BUF0;
|
So könnte ich mir ein zusätzliches Umkonfigurieren des ADCs (CH0 und CH1
sequentiell einlesen) sparen. Kann ich das so machen oder führt das zu
irgendwelchen Problemen? Schonmal im Voraus vielen Dank für die Hilfe..