打印
[复制链接]
1341|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
亘古未闻|  楼主 | 2014-4-30 13:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC16f57的除法运算占用时钟周期太长,如何解决????求大神们赐教!
沙发
ayb_ice| | 2014-4-30 14:10 | 只看该作者
应该没有基本除法指令吧

使用特权

评论回复
板凳
yewuyi| | 2014-4-30 14:59 | 只看该作者
PIC16F57根本没有除法指令。

PIC16应该都没有除法指令,有一些可能带了8×8乘法。

使用特权

评论回复
地板
NE5532| | 2014-4-30 15:10 | 只看该作者
想办法重新规划数据结果,避免乘来除去的,比如处理金额,就直接扩大100倍处理。

使用特权

评论回复
5
ZG11211| | 2014-4-30 20:54 | 只看该作者
尽量做到2,4,8,16这样的整数倍。

使用特权

评论回复
6
zhimagod| | 2014-5-1 08:48 | 只看该作者
这个只能具体情况具体对待了
运算前做一些处理,对于除数或被除数是常量的容易做一些,两个都是变量的就不好优化了
优化的目的呢,比如除数被除数用整数,再比如除数尽量是除2的幂数……

使用特权

评论回复
7
亘古未闻|  楼主 | 2014-5-5 09:25 | 只看该作者
ayb_ice 发表于 2014-4-30 14:10
应该没有基本除法指令吧

我只是用c语言直接写的,应该可以吧?编译通过了。

使用特权

评论回复
8
ayb_ice| | 2014-5-5 09:29 | 只看该作者
亘古未闻 发表于 2014-5-5 09:25
我只是用c语言直接写的,应该可以吧?编译通过了。

可以,但因为没有基本的除法指令,实际仍是调用库函数模拟的除法,花费的时间是少不了的.

使用特权

评论回复
9
亘古未闻|  楼主 | 2014-5-5 09:44 | 只看该作者
ayb_ice 发表于 2014-5-5 09:29
可以,但因为没有基本的除法指令,实际仍是调用库函数模拟的除法,花费的时间是少不了的. ...

明白了,就是因为没有除法指令才耗费了大量的指令周期的,对吗?看来要避免除法了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

55

帖子

0

粉丝