Hallo Leute,
eine Frage zum AD Wandler meines dsPIC33F:
Aus der Application Note von Microchip habe ich diesen Code übernommen
und nur die Eingänge an meine Hardware angepasst. Die Messung
funktioniert soweit auch wunderbar aber irgendwie kann ich die sample
time nicht beeinflussen. Egal welchen Wert ich in AD1CON3 schreibe, die
Messung dauert immer etwa 3,8 µs. Hat Jemand eine Idee woran das liegen
kann?
1 | AD1PCFGL = 0xEFFF; // all PORTB = Digital; RB12 = analog
|
2 | AD1CON1 = 0x00E0; // SSRC bit = 111 implies internal
|
3 | // counter ends sampling and starts
|
4 | // converting.
|
5 | AD1CHS0= 0x000C; // Connect RB12/AN12 as CH0 input ..
|
6 | // in this example RB12/AN12 is the input
|
7 | AD1CSSL = 0;
|
8 | AD1CON3 = 0x1F02; // Sample time = 31Tad, Tad = internal 2 Tcy
|
9 | AD1CON2 = 0;
|
10 | AD1CON1bits.ADON = 1; // turn ADC ON
|
11 | while (1) // repeat continuously
|
12 | {
|
13 | AD1CON1bits.SAMP = 1; // start sampling then ...
|
14 | // after 31Tad go to conversion
|
15 | while (!AD1CON1bits.DONE);// conversion done?
|
16 | ADCValue = ADC1BUF0; // yes then get ADC value
|
17 | } // repeat
|