Hallo zusammen,
ich experimentiere gerade ein bisschen mit dem MSP430 und dem ADC10.
Ich wundere mich jedoch etwas, dass das ändern der Referenzspannung
keine Änderung beim Messergebnis bringt.
Ich habe die interne Referenzspannung von 2,5V und 1,5V ausprobiert, der
gemessene Wert ist jedoch der gleiche. Stimmt irgend etwas an meinem
Code nicht?
1 | #include <msp430.h>
|
2 | #include "stdint.h"
|
3 |
|
4 | #define SCHALTER BIT3
|
5 |
|
6 | volatile uint16_t wert;
|
7 |
|
8 | int main(void){
|
9 | WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
|
10 | P1DIR |= SCHALTER; // P1.3 als Output für Transistor
|
11 | P1OUT |= SCHALTER; // Transistor für Operationsverstärker schalten
|
12 |
|
13 | ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE + REFON; // 1,5V als Referenz
|
14 | //ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE + REFON + REF2_5V; // 2,5V als Referenz
|
15 |
|
16 | ADC10CTL1 = INCH_2; //P1.2 als input für ADC
|
17 | ADC10AE0 |= BIT2;
|
18 |
|
19 | for(;;){
|
20 | ADC10CTL0 |= ENC + ADC10SC;
|
21 | wert = ADC10MEM;
|
22 | }
|
23 |
|
24 | return 0;
|
25 | }
|