查看: 1714|回复: 0
打印 上一主题 下一主题

PIC编译器C30内部函数如何理解?

[复制链接]
跳转到指定楼层
沙发
发表于 2015-3-13 11:37:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void SpeedControl(void) {
        SFRAC16 *CPtr = Ce;
        SFRAC16 *Pr = Ps;
        SFRAC16 x_p;
        SFRAC16 y_p;

                register int reg_a asm("A");
                register int reg_b asm("B");

                reg_a = __builtin_lac(Rd,0);
                reg_b = __builtin_lac(Md,0);
                reg_a = __builtin_subab();
                *CPtr = __builtin_sac(reg_a,0);
                reg_a = __builtin_movsac(&CPtr, &x_p, 2,&Pr, &y_p, 2, 0);
                reg_a = __builtin_lac(ControlOutput, 0);
                reg_a = __builtin_mac(x_p,y_p,&CPtr, &x_p, 2,&Pr, &y_p, 2, 0);
                reg_a = __builtin_mac(x_p,y_p,&CPtr, &x_p, 2,&Pr, &y_p, 2, 0);
                reg_a = __builtin_mac(x_p,y_p,&CPtr, &x_p, 2,&Pr, &y_p, 2, 0);
                ControlOutput = __builtin_sac(reg_a, 0);

        return;
}
上面这段代码是什么意思望大家帮忙解释一下,说明一下reg_a、reg_b、__builtin_subab()、__builtin_lac()、 __builtin_mac()是什么意思。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表