|
- #include <msp430x24x.h>
- #define Num_of_Results 8
- volatile unsigned int results[Num_of_Results]; // Needs to be global in this
- // example. Otherwise, the
- // compiler removes it because it
- // is not used for anything.
- void main(void)
- {
- WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
- P6SEL |= 0x01; // Enable A/D channel A0
- ADC12CTL0 = ADC12ON+SHT0_8+MSC; // Turn on ADC12, set sampling time
- ADC12CTL1 = SHP+CONSEQ_2; // Use sampling timer, set mode
- ADC12IE = 0x01; // Enable ADC12IFG.0
- ADC12CTL0 |= ENC; // Enable conversions
- ADC12CTL0 |= ADC12SC; // Start conversion
- _BIS_SR(LPM0_bits + GIE); // Enter LPM0,Enable interrupts
- }
- #pragma vector=ADC12_VECTOR
- __interrupt void ADC12ISR (void)
- {
- static unsigned int index = 0;
- results[index] = ADC12MEM0; // Move results
- index = (index+1)%Num_of_Results; // Increment results index, modulo; Set Breakpoint1 here
- if (index == 0)
- _NOP(); // Set Breakpoint2 here
-
- }
复制代码
|
|