This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好,我遇到了CCS 9.3用graph显示浮点数时出现较大偏差的问题。描述如下:
【测试环境】
主控芯片为:F280049C
编程软件为:CCS 9.3.0.00012
基于的官方示例代码为:C2000Ware_MotorControl_SDK_3_00_01_00的is05_motor_id工程
【关键代码(运行在mainISR中,用于测量相电流)】
var1 = ADC_readResult(halHandle->adcResult[0], ADC_SOC_NUMBER0);
var2 = (float32_t)var1;
其中,var1为uint16_t类型。
【异常现象】
当相电流为某恒定值,同时用graph显示var1和var2变量,得到的结果差异非常大:
下图为var1的graph波形,可见波动范围基本在±1位,最大不超过1906,最小不小于1900:
下图为var2的graph波形,可见波动范围基本在±7位,最大达到1911,最小达到1896,且在长时间内绝不会超过这两个边界值:
【疑惑点】
var1和var2仅在贴出的那两行代码赋值,其余地方均未对两者的值进行改变,也未调用两者的值。var2是将var1强制类型转换成浮点数的,应该与var1的值相差不会超过1,但从graph看到,两者差距明显。十分奇怪,是否是CCS 9.3的bug?
烦请TI专家帮忙解决该疑惑,十分感谢!