I am using an MSP430 for a low-power maximum power-point tracking application (solar and TEG), and I need to measure current and voltage, and multiply them to get power.
What is the most instruction-efficient way of doing this, preferably in C, not assembly?
I read in the manual that the result of the hardware multiplier is available instantaneously, but I'm not sure if that means that the CPU automatically waits for the result, or if the result is actually available in less time than one clock period at the highest possible MCLK.
I was also thinking it might be possible to use the DMA to move the data from the ADCs to the hardware multiplier, so the CPU only had to wake up once all three values (current, voltage, power) were available.
The MSP430 can be any model. I currently have available the Launchpad+G2553 and ez430-F2013, but neither of these have the hardware multiplier, so I'll have to get something else anyway if the hardware multiplier is worth it.
I appreciate any input :)