我基本把IQmath函数的计数文档全部了解完了,应用了一些函数计算也正确。今天在使用的时候,除法运算计算结果不正确,各位大神麻烦指点啊,谢谢!
_iq5 Baud_Dem = 0;
_iq5 LspClk = 0;
LspClk = 2;
//计算波特率
if(LspClk)
{
LspClk = _IQ5div(_IQ5(60000000),_IQ5(4));//SysCtrlRegs.LOSPCP=2;//60为sysclk;
}
else
{
LspClk = _IQ5(60000000);
}
Baud_Dem = _IQ5mpy(_IQ5(Config->uBaud), _IQ5(8)); //Config->uBaud * 8;
Baud_Dem = _IQ5div(_IQ5(LspClk), _IQ5(Baud_Dem)); //就是这一句结果出现问题,设置波特率4800,计算结果应该为390.6,而这一步结果为54.6
|