Paso 2: la codificación:
hice este proyecto utilizando código compositor studio software de codificación. Aquí os presento la codificación para msp430g2231.
#include "msp430.h"
#define ADC_CHANNELS 2
unsigned int muestras [ADC_CHANNELS];
#define LED1 BIT4
#define LED2 BIT6
#define BIT0 SENSOR_LEFT
#define SENSOR_GND BIT2
#define SENSOR_RIGHT albañilería1
#define SENSOR_GND1 BIT3
#define LED1 RED_LED
#define GRN_LED LED2
void ConfigureAdc(void) {}
ADC10CTL1 = INCH_1 | ADC10DIV_0 | CONSEQ_3 | SHS_0;
ADC10CTL0 = SREF_0 | ADC10SHT_2 | MSC | ADC10ON | ADC10IE;
ADC10AE0 = SENSOR_LEFT + SENSOR_RIGHT;
ADC10DTC1 = ADC_CHANNELS;
}
void main {}
WDTCTL = WDTPW | WDTHOLD;
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
BCSCTL2 & = ~ (DIVS_3);
P1DIR = 0; / * como entradas * /
P1SEL = 0; / * como E/s digitales * /
P1OUT = 0; / * establecer resistencias como desplegables * /
P1REN = 0XFF; / * habilitar las resistencias pull-down * /
P2DIR = 0; / * como entradas * /
P2SEL = 0; / * como E/s digitales * /
P2OUT = 0; / * establecer resistencias como desplegables * /
P2REN = 0XFF; / * habilitar las resistencias pull-down * /
P1REN & = ~(LED1 | LED2); / * deshabilitar pull-up o reducciones * /
P1DIR | = (LED1 | LED2); / * configurar como oututs * /
P1REN & = ~(SENSOR_GND | SENSOR_GND1); / * deshabilitar pull-up/down * /
P1OUT & = ~ (SENSOR_GND| SENSOR_GND); / * SENSOR_GND debe ser en la tierra * /
P1DIR | = (SENSOR_GND | SENSOR_GND1); / * SENSOR_GND debe ser una salida * /
P1REN | = (SENSOR_LEFT| SENSOR_RIGHT); / * habilitar pull-up en SENSOR * /
P1IN | = (SENSOR_LEFT| SENSOR_RIGHT); / * set resistencia como pull-up * /
ConfigureAdc();
__enable_interrupt();
mientras que {} (1)
__delay_cycles(1000);
ADC10CTL0 & = ~ ENC;
mientras (ADC10CTL1 y ocupado);
ADC10SA = muestras (unsigned int);
ADC10CTL0 | = ADC10SC; ENC
__bis_SR_register (CPUOFF + GIE);
Si (las muestras [0] < samples[1]) {}
P1OUT | = RED_LED;
P1OUT & = ~ (GRN_LED);
} else if (muestras [0] == {} samples[1])
P1OUT & = ~ (RED_LED);
P1OUT & = ~ (GRN_LED);
} else {}
P1OUT | = GRN_LED;
P1OUT & = ~ (RED_LED);
}
}
}
#pragma vector = ADC10_VECTOR
__interrupt void ADC10_ISR (void) {}
__bic_SR_register_on_exit(CPUOFF);
}
Gracias por ver