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

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

[复制链接]
跳转到指定楼层
沙发
发表于 2015-3-10 11:44:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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()是什么意思。
回复

使用道具 举报

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

本版积分规则

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