Other Parts Discussed in Thread: MSP430WARE
Hi,
I am using ADC input on A8 and it is working fine (I am configuring mem0 for it).
But I have another ADC input on A12, when I tried the same configuration as the working one (using mem1), the interrupt didn't come.
Could anyone help?
Code is as following:
1- P9.4/A12 init
GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P9, GPIO_PIN4, GPIO_TERNARY_MODULE_FUNCTION);
2- ADC init
/* * Base address of ADC12B Module * Use internal ADC12B bit as sample/hold signal to start conversion * USE MODOSC 5MHZ Digital Oscillator as clock source * Use default clock divider/pre-divider of 1 * Not use internal channel */ ADC12_B_initParam initParam = {0}; initParam.sampleHoldSignalSourceSelect = ADC12_B_SAMPLEHOLDSOURCE_SC; initParam.clockSourceSelect = ADC12_B_CLOCKSOURCE_ADC12OSC; initParam.clockSourceDivider = ADC12_B_CLOCKDIVIDER_1; initParam.clockSourcePredivider = ADC12_B_CLOCKPREDIVIDER__1; initParam.internalChannelMap = ADC12_B_NOINTCH; ADC12_B_init(ADC12_B_BASE, &initParam); //Enable the ADC12B module ADC12_B_enable(ADC12_B_BASE); /* * Base address of ADC12B Module * For memory buffers 0-7 sample/hold for 64 clock cycles * For memory buffers 8-15 sample/hold for 4 clock cycles (default) * Disable Multiple Sampling */ ADC12_B_setupSamplingTimer(ADC12_B_BASE, ADC12_B_CYCLEHOLD_16_CYCLES, ADC12_B_CYCLEHOLD_4_CYCLES, ADC12_B_MULTIPLESAMPLESDISABLE);
3- A12/mem1 init
//Configure Memory Buffer for valve current sense at A12 (port pin 9.4) ADC12_B_configureMemoryParam configureMemoryParam2 = {0}; configureMemoryParam2.memoryBufferControlIndex = ADC12_B_MEMORY_1; configureMemoryParam2.inputSourceSelect = ADC12_B_INPUT_A12; configureMemoryParam2.refVoltageSourceSelect = ADC12_B_VREFPOS_AVCC_VREFNEG_VSS; configureMemoryParam2.endOfSequence = ADC12_B_NOTENDOFSEQUENCE; configureMemoryParam2.windowComparatorSelect = ADC12_B_WINDOW_COMPARATOR_DISABLE; configureMemoryParam2.differentialModeSelect = ADC12_B_DIFFERENTIAL_MODE_DISABLE; ADC12_B_configureMemory(ADC12_B_BASE, &configureMemoryParam2); ADC12_B_clearInterrupt(ADC12_B_BASE, 0, ADC12_B_IFG1 ); //Enable memory buffer 1 interrupt ADC12_B_enableInterrupt(ADC12_B_BASE, ADC12_B_IE1, 0, 0);