主题中讨论的其他器件:LAUNCHXL-F280039C、 C2000WARE
工具/软件:
我遇到了一些计算错误。
static int16_t LvBswPwm_Period_Cnt=2400; static uint16_t test[6]; test[0]=(1.0f/6.0f*LvBswPwm_Period_Cnt); test[1]=(2.0f/6.0f*LvBswPwm_Period_Cnt); test[2]=(3.0f/6.0f*LvBswPwm_Period_Cnt); test[3]=(4.0f/6.0f*LvBswPwm_Period_Cnt); test[4]=(5.0f/6.0f*LvBswPwm_Period_Cnt); test[5]=(6.0f/6.0f*LvBswPwm_Period_Cnt);
除5/6之外、所有计算结果都是正确的、结果为0、但不是2000。
部分配置 如下所示:
一些解决方案尝试过:
1-将优化级别更改为"关闭"、5/6结果将是正确的;
2-(5.0f*LvBsw Pwm_Period_Cnt )/ 6.0f,结果将是正确的;
我想知道这是什么原因造成的。