Forum: Mikrocontroller und Digitale Elektronik MSP430 ADC10 Referenzspannung


von Dominik R. (vision)


Lesenswert?

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
}

von Horst (Gast)


Lesenswert?

Du gibst dem Wandler ja garkeine Zeit, irgendwas zu wandeln. Du startest 
direkt immer ne neue Messung. Arbeite mit Interrupts und bearbeite das 
Ergebnis in der ISR, oder poll das IFG oder das ADC10BUSY-Flag. Guck mal 
in die Code-Examples von TI.

von Vision (Gast)


Lesenswert?

Stimmt... um 3 Uhr Nachts sollte man so etwas einfach nicht mehr 
machen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.