1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <msp430.h>
/**
* main.c
*/
int main(void)
{
volatile int resultat = 0;
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
//ENTREES
P6DIR &=~ (BIT0);
P6SEL |= BIT0; // Enable A/D channel inputs
ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_2; // Turn on ADC12, set sampling time
ADC12CTL1 = ADC12SHP+ADC12CONSEQ_1; // Use sampling timer, single sequence
ADC12MCTL0 = ADC12INCH_0+ADC12EOS; // ref+=AVcc, channel = A0
while (1)
{
ADC12CTL0 |= ADC12ENC; // Enable conversions
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
while((ADC12IFG & 0x01) == 0) // attention pas 0x08 car ça c'est pour l'entrée A3 ----> 0x01 = A0, 0x02 = A1, 0x04 = A2, 0x08 = A3, 0x10 = A4 etc...
; // attendre la conversion
//
resultat = ADC12MEM0;
}
return 0;
} |