主题中讨论的其他器件:MSP430G2231
工具/软件:Code Composer Studio
我找到了 msp430G2231的这个代码、它在2553中未按预期运行。 我需要进行任何更改吗?
#include "msp430.h"
#define ADC_CHANNELS 2.
unsigned int samples[ADC_channels];
#define LED1 BIT4
#define LED2 BIT6
#define SENSOR_LEFT BIT0
#define SENSOR_GND BIT2
#define SENSOR_RIGHT BIT1
#define SENSOR_GND1 BIT3
#define RED_LED LED1
#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 (void){
WDTCTL = WDTPW | WDTHOLD;
BCSCTL1 = CALBC1_1MHz;
DCOCTL = CALDCO_1MHz;
BCSCTL2 &=~(DIVS_3);
P1DIR = 0;//设置为输入*/
P1SEL = 0;//设置为数字 I/O *
P1OUT = 0;//将电阻器设置为下拉电阻器*/
P1REN = 0xFF;/*启用下拉电阻器*/
P2DIR = 0;//设置为输入*/
P2SEL = 0;//设置为数字 I/O *
P2OUT = 0;//将电阻设置为下拉电阻器*/
P2REN = 0xFF;/*启用下拉电阻器*/
P1REN &=~(LED1 | LED2);/*禁用上拉/下拉电阻器*/
P1DIR |=(LED1 | LED2);/*配置为输出*/
P1REN &=~(SENSOR_GND |SENSOR_GND1);/*禁用上拉/下拉*/
P1OUT &=~Ω(SENSOR_GND|SENSOR_GND);/* SENSOR_GND 应位于 GND *
P1DIR |=(SENSOR_GND |SENSOR_GND1);/* SENSOR_GND 必须为输出*/
P1REN |=(SENSOR_LEFT|SENSOR_RIGHT);/*启用传感器上的上拉*
P1IN |=(SENSOR_LEFT|SENSOR_RIGHT);//将电阻器设置为上拉电阻器*/
ConfigureAdc();
_enable_interrupt ();
while (1){
_DELAY_CYCLES (1000);
ADC10CTL0 &=~ENC;
while (ADC10CTL1 & BUSY);
ADC10SA =(无符号 int)样本;
ADC10CTL0 |= ENC + ADC10SC;
_bis_SR_register (CPUOFF + GIE);
if (samples[0]< samples[1]){
P1OUT |=RED_LED;
P1OUT &=~Ω(GRN_LED);
}否则、如果(samples[0]= samples[1]){
P1OUT &=~(RED_LED);
P1OUT &=~Ω(GRN_LED);
}否则{
P1OUT |= GRN_LED;
P1OUT &=~(RED_LED);
}
}
}
#pragma vector=ADC10_vector
_interrupt void ADC10_ISR (void){
_BIC_SR_REGISTER_ON_EXIT (CPUOFF);
}