// Affiche la valeur en bits de l'entrée analogique A3 //****************************************************************************** #include "msp430xG46x.h" #include "intrinsics.h" #include "LCD.h" #include "stdio.h" volatile unsigned int A3results[8]; unsigned int Index, ADC_value; void main(void) { int i; char str[9]; WDTCTL = WDTPW + WDTHOLD; // Stop watchdog P6SEL |= 0x08; // Enable A/D inputs ADC12CTL0 = SHT0_8 + MSC + ADC12ON; // Turn on ADC12, horloge interne, // échatillonage étendu // MSC actif pour conversions automatiques ADC12CTL0 |= REFON + REF2_5V; // Référence pour le potentiomètre ADC12CTL1 = SHP + CONSEQ_3; // Use sampling timer, set mode ADC12IE = 0x08; // Enable ADC12IFG.3 pour ADC12MEM3 ADC12MCTL3 = SREF_1 + INCH_3; // A3 va sur le registre MEM3 ADC12CTL0 |= ENC + ADC12SC; // Enable and start ADC12 __enable_interrupt(); while (!(ADC12IFG & 0x08)); // Attendre la première conversion ADC_value = ADC12MEM3; // Read out ADC value LCD_init(); while (1) { LCD_clear(); sprintf(str,"A3=%d", ADC12MEM3); LCD_print (str); for (i=1;i<30000;i++); } } #pragma vector = ADC12_VECTOR __interrupt void ADC12_ISR(void) { ADC_value = ADC12MEM3; }