Other Parts Discussed in Thread: ADS131M08,
Hi All,
We are using ADS131M08 AFE to measure voltage, current values, interfaced to MSP430F47177.
Earlier we did the same using in-built ADC of MSP430F47177. While using internal ADC, an ADC interrupt & hardware multiplier was used. (ASM code for hardware multiplier exists in code)
Now as we want to work with external ADC ADS131M08, we do not need ADC interrupt. But, we need calculation what we were doing in ADC interrupt.
So, we disabled ADC interrupt, & called a function (let's say ADC_Read) which has same calculation code that were present in ADC interrupt.
In ADC interrupt code there is an assembly code for hardware multiplication, which calculates square-sum values.
While we run the code by calling ADC_Read function, code executes up to the hardware multiplier part but then enters into NMI interrupt & gets reset.
If I didn't call the function ADC_Read, code works properly & didn't get reset.
Any idea why this is happening.
Is it because ADC interrupt didn't get disabled properly & do I need to change setting in project for hardware multiplier?
Note:-
I changed setting for following
1.
Earlier:- Project-> Properties-> MSP430 Compiler-> Optimization ->Inline Hardware multiply version of RTS mpy routine(--use_hw_mpy) == 32
Changed to :- None
Result:- Still code is getting reset.
2.
Earlier:- Project-> Properties-> MSP430 Compiler-> ULP Advisor -> Hardware Multiplier
Changed to :- Untiked to checkbox of Hardware Multiplier
Result:- Still code is getting reset.
Thanks & Regards