Gast
#3081262
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.