dianzidianzi 发表于 2015-3-9 07:50:49

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

本帖最后由 dianzidianzi 于 2015-3-10 07:49 编辑


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()是什么意思。

abutter 发表于 2015-3-9 08:26:21

看手册,有详细说明。

farfar 发表于 2015-3-9 09:27:29

這標題還是改一下吧,順帶的請看看論壇規則。

dianzidianzi 发表于 2015-3-10 07:51:42

farfar 发表于 2015-3-9 09:27
這標題還是改一下吧,順帶的請看看論壇規則。

谢谢提醒,已经改过了,不知道这样可否?

dianzidianzi 发表于 2015-3-10 07:53:56

abutter 发表于 2015-3-9 08:26
看手册,有详细说明。

我找了手册,但是没看到有解释C30内部函数的,你有的话能否上传一份,或给我一个链接,最好是中文版本的。先谢谢啦

farfar 发表于 2015-3-10 08:10:43

dianzidianzi 发表于 2015-3-10 07:51
谢谢提醒,已经改过了,不知道这样可否?

應該沒問題了{:smile:}

abutter 发表于 2015-3-10 17:38:18

http://blog.chinaaet.com/detail/21840
页: [1]
查看完整版本: PIC编译器C30内部函数如何理解?