打印
[技术问答]

关于库函数

[复制链接]
810|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2020-12-10 11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个是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;
}

使用特权

评论回复
沙发
gejigeji521| | 2020-12-10 20:38 | 只看该作者
应该是的。

使用特权

评论回复
板凳
nawu| | 2021-1-7 13:47 | 只看该作者
是的 是这样对比的

使用特权

评论回复
地板
qcliu| | 2021-1-7 13:56 | 只看该作者
感觉你这部分代码没有问题

使用特权

评论回复
5
tfqi| | 2021-1-7 13:57 | 只看该作者
感觉你这个算法好复杂啊

使用特权

评论回复
6
wiba| | 2021-1-7 13:57 | 只看该作者
需要判定的条件比较多啊

使用特权

评论回复
7
zljiu| | 2021-1-7 13:59 | 只看该作者
需要运行看看能不能出bug

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1191

主题

5214

帖子

12

粉丝