Why you are checking UART flag in the ADC ISR? while(!(UCA0IFG&UCTXIFG)); If i==buf_size, you are reading ADC result two times during ISR call which is by definition not good idea. Instead of strange buffer contents shift, try just "typical" circular buffer approach: ADC_14_BUF[i++] = ADC14->MEM[0]; if (i >= 5) i=0;
↧