ADC10 Programm auf MSP430

Gast #3081262
Lesenswert?

Hallo zusammen,

ich habe eine paar Fragen zu folgendem Programm

//********************************************************************** 
********
//  MSP430G2x33/G2x53 Demo - ADC10, Sample A11, Lo_Batt, Set P1.0 if < 
2.3V
//
//  Description: A single sample is made on A11 (AVcc/2) with reference 
to
//  internal 1.5V Vref. Software sets ADC10SC to start sample and 
conversion
//  - ADC10SC automatically cleared at EOC. ADC10 internal oscillator 
times
//  sample (16x) and conversion. ADC10BUSY flag is polled for EOC. If 
A11
//  (AVcc/2) < 0311h (0.65V) indicating AVcc is less 2.3V, P1.0 set 
indicating
//  a lo_Batt condition, else reset.
//
//                MSP430G2x33/G2x53
//             -----------------
//         /|\|              XIN|-
//          | |                 |
//          --|RST          XOUT|-
//            |                 |
//            |A11          P1.0|-->LED
//
//  D. Dang
//  Texas Instruments Inc.
//  December 2010
//   Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 
5.10
//********************************************************************** 
********
#include  "msp430g2553.h"

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  ADC10CTL1 = INCH_11;                      // AVcc/2
  ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON;
  P1DIR |= 0x01;                            // Set P1.0 to output 
direction

  for (;;)
  {
    ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion 
start
    while (ADC10CTL1 & ADC10BUSY);          // ADC10BUSY?
    if (ADC10MEM < 0x311)                   // ADC10MEM = A11 > 0.65?
      P1OUT |= 0x01;                        // Set P1.0 LED on
    else
      P1OUT &= ~0x01;                       // Clear P1.0 LED off
  }
}

Ich möchte eigentlich erstmal wissen ob ich da alles richtig verstanden 
habe.
A11 ist die die halbe Betriebsspannung welche hier gemessen wird?!
Als Referenz dient die interne Referenzspannung von 1,5V?!
Das heißt bei AVcc < ca.2,30V müsste die LED angehen weil 0x311 = 785 
und 1,5V/1024 * 785 = 1,15 (AVcc/2)?!
mit dem SREF_1 wähle ich die 1,5V aus?!

So jetzt meine Fragen:
Was sagt mir diese Zeile genau? -->  while (ADC10CTL1 & ADC10BUSY);
Und was ist mit diesen 0,65 gemeint?

Über eine schnelle Antwort wäre ich sehr Dankbar.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren