Заключается в том что не вызывается прерывание. Помогает только перезагрузка.
void InitADC(void) { ADC10CTL0 &= ~(ENC); ADC10CTL1 = INCH_1+SHS_0+ADC10DIV_7+ADC10SSEL_3+CONSEQ_3; ADC10CTL0 = REF2_5V+REFON+SREF_1+ADC10SHT_3+ADC10SR+MSC+ADC10IE; ADC10AE0 = (PIN_RESISTOR+PIN_OVERCURRENT_MEASURE); // analog input enable
ADC10DTC0 = ADC10CT;
ADC10DTC1 = ARRAY_ADC_SIZE; //_number transfers in block ADC10SA = (word)&BufferADC; // start adress data transfer
ADC10CTL0 |= ADC10ON; // ADC10 On ADC10CTL0 |= (ADC10SC+ENC); // start conversion flagADCStart=false; }
#pragma vector=ADC10_VECTOR __interrupt void ADC10_VECTOR_ISR(void) { ValueADC[0]=(BufferADC[0]+BufferADC[2]+BufferADC[4]+BufferADC[6])>>2; ValueADC[1]=(BufferADC[1]+BufferADC[3]+BufferADC[5]+BufferADC[7])>>2; flagADCStart=true; }
|