Hallo,
ich habe hier ein Beispiel Programm vom TI, dass 3 Werte in Folge
einliest. Diese werden dann aufsteigend unter der ADC10SA Adresse
gespeichert. Meine Frage ist nun wie ich diese Daten auslesen kann, da
dies im Beispiel nicht gezeigt wird. Ich habe den MSP430F2122 und
verwende die MSP430-GCC tools.
Danke im Voraus
1 | #include "msp430x21x2.h"
|
2 |
|
3 | void main(void)
|
4 | {
|
5 | WDTCTL = WDTPW + WDTHOLD; // Stop WDT
|
6 | ADC10CTL1 = INCH_2 + CONSEQ_1; // A2/A1/A0, single sequence
|
7 | ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE;
|
8 | ADC10DTC1 = 0x03; // 3 conversions
|
9 | ADC10AE0 |= 0x07; // P2.2,1,0 ADC10 option select
|
10 | P1DIR |= 0x01; // Set P1.0 output
|
11 |
|
12 | for (;;)
|
13 | {
|
14 | ADC10CTL0 &= ~ENC;
|
15 | while (ADC10CTL1 & BUSY); // Wait if ADC10 core is active
|
16 | ADC10SA = 0x200; // Data buffer start
|
17 | P1OUT |= 0x01; // P1.0 = 1
|
18 | ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
|
19 | __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
|
20 | P1OUT &= ~0x01; // P1.0 = 0
|
21 |
|
22 | }
|
23 | }
|
24 |
|
25 | // ADC10 interrupt service routine
|
26 | __attribute__((interrupt(ADC10_VECTOR)))
|
27 | void ADC10_ISR(void)
|
28 | {
|
29 | __bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
|
30 | }
|