工具/软件:Code Composer Studio
我想将两个ADC读数相乘(电压和电流以获得功率)。 我正在使用CCS7版本,并且在CCS项目属性,编译器和链接器中启用了硬件乘法器(设置为16)。
但观察窗口中的结果与实际答案不相符。 如果我尝试将两个变量相乘,我得到的结果是变量的任何值都是'314'。 如果尝试将一个变量(值45)与一个常量相乘,我不能将常量值增加到大于32的数字,只要它超过32,结果就变成'314'。 如果将两个常量数相乘(其乘积小于3.2768万),我得到正确的答案。
我是否缺少任何设置???
变量声明和乘法部分如下所示
unsigned int adc_val[6]={0,0,0,0,0,0,0,0,0,0";
unsigned int v_pan_avg_acc_n10=0,c_pan_avg_acc_n10=0,v_pan_avg_n7=0,c_pan_avg_n7=0;
unsigned int panel_pwr_n14=0;
----------------------------------
----------------------------------
v_PAN_avg_acc_n10 = v_PAN_avg_acc_n10+adc_val[4];
c_pan_avg_acc_n10 = c_pan_avg_acc_n10+adc_val[1];
ADC_COUNT++;
IF (ADC_COUNT>32)
{
v_PAN_avg_n7 = v_PAN_avg_acc_n10>8;
.................................................................
c_pan_avg_n7 = c_pan_avg_acc_n10>8;
PANEL_Pwr_n14 =(v_PAN_avg_n7)*(c_PAN_avg_n7) ;
..................................................................
.................................................................
}

