#include "msp430.h"
#include "adc.h"
#include "flash.h"
long i,j;
int temp[2][1000];
unsigned long Flash_Addr;
#pragma dataseg = 0X030000
double accX[1000];
double accY[1000];
#pragma dataseg = default
void main(void) {
WDTCTL = WDTPW + WDTHOLD;
i=0;
initADC();
while (1)
{
ADC12CTL0 |= ADC12ENC + ADC12SC;
Flash_Addr++;
_EINT();
asm("NOP");
_DINT();
}
}
#pragma vector = ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
// ADC12IFG=0;
// ADC12CTL0 &= ~ADC12ENC;
temp[0] = ADC12MEM1;
temp[1] = ADC12MEM2;
i++;
if (i==1000)
{
ADC12IFG = 0;
ADC12CTL0 &= ~ADC12ENC; //此处调试 i=1000;一切似乎正常,可是当退出中断,i无端加1,成了1001,但是单步运行,发现程序并没有再次进入中断,为什么会加1呢?
}
asm("NOP");