Ответ: вот как у меня было (небольшой кусочек)
/////////////////////////////////////////
//инициализация АЦП
// режим повторяющейся последовательности
// импульсный режим выборки
// использование множественных выборок MSI = 1
// прерывания не настраиваются
void InitADC12(void)
{
//настройка АЦП , прерывания не разрешаем
ADC12CTL0 = SHT0_3 + SHT1_3; //время выборки хранения = 32 ADC12CLK циклов
ADC12CTL0_bit.MSC = 1; //множественная выборка
ADC12CTL0_bit.REF2_5V = 1; //2.5 В опорник
//ADC12CTL0 |= REFON + ADC12ON; //вкл АЦП и опорника
ADC12CTL1 = SHS_1 + SHP + CONSEQ_1; //тактирование от внутренего источника без делителя + режим последовательности каналов
ADC12MCTL0 = SREF_1 + INCH_2; //выбор опорника и входа для 0-ой ячейки "канал 0"
ADC12MCTL1 = SREF_1 + INCH_4; //выбор опорника и входа для 1-ой ячейки "канал 1"
ADC12MCTL2 = SREF_1 + INCH_3 + EOS; //выбор опорника и входа для 2-ой ячейки "канал 2" и конец последовательности
ADC12MCTL3 = SREF_1 + INCH_2; //выбор опорника и входа для 3-ой ячейки "канал 0"
ADC12MCTL4 = SREF_1 + INCH_4; //выбор опорника и входа для 4-ой ячейки "канал 1"
ADC12MCTL5 = SREF_1 + INCH_3 + EOS; //выбор опорника и входа для 2-ой ячейки "канал 2" и конец последовательности
ADC12MCTL6 = SREF_1 + INCH_2; //выбор опорника и входа для 6-ой ячейки "канал 0"
ADC12MCTL7 = SREF_1 + INCH_4; //выбор опорника и входа для 7-ой ячейки "канал 1"
ADC12MCTL8 = SREF_1 + INCH_3 + EOS; //выбор опорника и входа для 8-ой ячейки "канал 2" и конец последовательности
ADC12MCTL9 = SREF_1 + INCH_2; //выбор опорника и входа для 9-ой ячейки "канал 0"
ADC12MCTL10 = SREF_1 + INCH_4; //выбор опорника и входа для 10-ой ячейки "канал 1"
ADC12MCTL11 = SREF_1 + INCH_3 + EOS;//выбор опорника и входа для 11-ой ячейки "канал 2" и конец последовательности
ADC12IFG = 0;
//настройка CCR1 Таймера А //таймер считает в непрерывном режиме
TACCR1 = TCloc1; //возможна задержка при старте до 1 секунды
TACCTL1 = OUTMOD_4; //режим вывода "переключение"
return;
}
////////////////////////////////////
//Запуск измерения (measuring)
void RunMeasuring(void)
{
InitLocalDataBufADC(); //очистка буфера результатов измерения
ADC12CTL1_bit.CSTARTADD = 0; //установка начального адреса
//включаем АЦП
ADC12CTL0 |= REFON + ADC12ON; //вкл АЦП и опорника
ADC12CTL0_bit.ENC = 1; //разрешаем преобразование
//разрешаем прерывания
ADC12IFG = 0;
ADC12IE = ADC12_INTERRUPT_EN;//прерывания от 2, 5, 8 и 11 ячеек
//вставить определение положения таймера для исключения задержки запуска(определять любым способом)
TACCTL1_bit.CCIE = 1; //вкл модумя синхронизации АЦП
return;
}
////////////////////////////////////
//Остановка измерения
void StopMeasuring(void)
{
//запрещаем прерывания
ADC12IE = 0;
ADC12IFG = 0;
TACCTL1_bit.CCIE = 0; //выкл модумя синхронизации АЦП
//выключаем АЦП
ADC12CTL0_bit.ENC = 0; //запрещаем преобразование
ADC12CTL0_bit.ADC12ON = 0; //выкл АЦП
ADC12CTL0_bit.REFON = 0; //выкл опорника
return;
}
инициализация , запуск и остановка , могу и прерывание показать если надо