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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.