TI中文支持网
TI专业的中文技术问题搜集分享网站

controlsuite的HVACI_Sensorless例程

void C2(void) //  SPARE
//—————————————-
{
    DcBusVolt = _IQmpy(_IQ12toIQ(AdcResult.ADCRESULT7),_IQ(1.2625));  // DC Bus voltage meas.
    pi_spd.Ref = DcBusVolt_Ref;
    pi_spd.Fbk = DcBusVolt;
    PI_MACRO(pi_spd);
#define   _IQ12toIQ(A) ((long) (A) << (GLOBAL_Q – 12))

DcBusVolt = _IQmpy(_IQ12toIQ(AdcResult.ADCRESULT7),_IQ(1.2625)); 这个语句的执行过程是什么,将AdcResult.ADCRESULT7左移12位(GLOBAL_Q默认为24),AdcResult.ADCRESULT7左移12位不是0吗?

Eric Ma:“将AdcResult.ADCRESULT7左移12位(GLOBAL_Q默认为24),AdcResult.ADCRESULT7左移12位不是0吗?”
Eric:
左移是放大呀,右移才是缩小。
如0x0001 左移4位就是0x0010.

赞(0)
未经允许不得转载:TI中文支持网 » controlsuite的HVACI_Sensorless例程
分享到: 更多 (0)