这个是SYS_PLLClockOutput code里面的函数,这个函数的逻辑不是太容易看懂,我猜测是计算pi的小数点后19bit。最主要是其作用,我猜测是通过计算比较大的值可以判断clock的是否稳定吗???请问:是这样吗?
在逻辑上,有有些不明白:
int32_t pi(void)
{
int32_t i, i32Err;
int32_t a = 10000, b = 0, c = PI_NUM, d = 0, e = 0, g = 0;
for(; b - c;) //b为0,这个循环是不是一次也没进去过
f[b++] = a / 5;
i = 0;
for(; d = 0, g = c * 2; c -= 14,/*printf("%.4d\n",e+d/a),*/ piResult[i++] = e + d / a, e = d % a)
{
if(i == 19)
break;
for(b = c; d += f * a, f = d % --g, d /= g--, --b; d *= b);
}
i32Err = 0;
for(i = 0; i < 19; i++)
{
if(piTbl != piResult)
i32Err = -1;
}
return i32Err;
} |