初学dsPIC,用的DSPIC30F2002的芯片。但是看函数库,DSP内核的函数都是写FFT什么的复杂运算用的。简单的乘除法运算反倒还没有。第一次接触DSP芯片,不知道要怎么调用DSP内核来解乘除法。官网上找到个例子,照着写下来,但是用MPLAB SIM仿真发现C的值不会改变,不知道为什么,希望有经验的朋友帮忙解答一下DSP内核要怎么使用,感谢。
a=2.0;
b=2.0;
asm("MOV _a, W4");
asm("MOV _b, W5");
asm("MOV #_c,W0");
asm("MPY W4*W5,A");
asm("SAC A,[W0]");
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
register int result asm("A");
int xVal=5, yVal=5,data;
result = __builtin_mpy(xVal, yVal,NULL, NULL, 0,NULL, NULL, 0);
data = __builtin_sac(result,0);
用软件仿真看到result中的值是0x32,但是data中的值却是0x0000.不知道为什么!
忘了指定DSP为整数运行了,结果是对了,但是却依然读取不出来,data还是等于0!
-----------------------------------------------------------------------
你好,我现在也遇到调用函数库的问题,我现在函数库都没找到,能指点下吗?
感谢万分
一周热门 更多>