Part Number:TMS320F2800157
我在TMS320F2800157芯片上,调用sinf/cosf函数,
1、计算的结果有些正确,有些不正确
请问是什么原因?
#define CONST_PI_32 3.14159265358979323846f
float32_t tmp;
tmp = (float32_t)sinf(CONST_PI_32/4); // 0.707106769,正确
tmp = (float32_t)sinf(CONST_PI_32/4 + CONST_PI_32/5); // 0.987298429
tmp = (float32_t)sinf(CONST_PI_32/4 + CONST_PI_32/4); // 1.0, 正确
tmp = (float32_t)sinf(CONST_PI_32/4 + CONST_PI_32/3); // 0.0,错误
tmp = (float32_t)cosf(CONST_PI_32/4); // 0.0, 错误
tmp = (float32_t)cosf(CONST_PI_32/4 + CONST_PI_32/5); // -0.00242325524,是否正确
tmp = (float32_t)cosf(CONST_PI_32/4 + CONST_PI_32/4); // 0.0,正确
tmp = (float32_t)cosf(CONST_PI_32/4 + CONST_PI_32/3); // 0.0,错误
2、sinf/cosf函数,输出参数的取值范围只能是 (-Pi) ~ (Pi) 之间吗? 超出这个范围,好像计算的结果会很离谱
Yale Li:
我已经咨询了相关工程师,请关注下方链接:
https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1298711/tms320f2800157-issue-about-using-sinf-and-cosf
TI中文支持网

