dsPIC的除法运算

2020-02-09 11:40发布

使用dsPIC30F2020中间有一个除法,a/b,需要的到后面的小数值。
应该最简单的就是用a*(1/b)了,而且这样可以使用dsp内核计算,手工算出1/b是一个很小的数,然后乘a,a为INT型,但是使用DSP内核后读出的结果是0!不知道是什么原因,难道这样除不行吗?那还有没有其它方法呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
tiancaigao7
1楼-- · 2020-02-10 04:34
 精彩回答 2  元偷偷看……
xyufo2000
2楼-- · 2020-02-10 05:06
如果a-LONG 则a/b;否则两个q15。
liansh
3楼-- · 2020-02-10 06:44
回复【7楼】tiancaigao7  天才杨威利
-----------------------------------------------------------------------

那个转换函数我试了,不过没有效果,因为DSP计算返回的值就是0!

回复【8楼】xyufo2000  
-----------------------------------------------------------------------

就是说如果需要小数的话就只能Q15格式相乘才行!
tiancaigao7
4楼-- · 2020-02-10 09:01
你怎么直接调用的DSP内核?用的汇编语言?还是内建函数?这个要看看这类函数的输入输出要求。还有这类函数是有益处的可能性的
headwolf_83
5楼-- · 2020-02-10 09:01
不知道你的PID算法是怎么样的。我这几天整理了下,全部以整型在跑的标准PID,经过处理,8MIPS下,也不到10个us。
没必要老是考虑以小数来整,实际在在最后一步之前,都可以看成普通的整型来处理。
liansh
6楼-- · 2020-02-10 10:55
 精彩回答 2  元偷偷看……

一周热门 更多>