[技术问答] M05X D版32位除法器寄存器

[复制链接]
6314|31
 楼主| wenkoo 发表于 2013-7-31 14:34 | 显示全部楼层 |阅读模式
Register        Offset        R/W        Description        Reset Value
DIV_BA = 0x5001_4000
DIVIDEND        DIV_BA+0x00        R/W        Dividend Source Register        0x0000_0000
DIVISOR        DIV_BA+0x04        R/W        Divisor Source Resister        0x0000_FFFF
DIVQUO        DIV_BA+0x08        R/W        Quotient Result Resister        0x0000_0000
DIVREM        DIV_BA+0x0C        R/W        Reminder Result Register        0x0000_0000
DIVSTS        DIV_BA+0x10        R/W        Divider Status Register        0x0000_0001
新浪 发表于 2013-7-31 14:50 | 显示全部楼层
如何用呢?
新浪 发表于 2013-7-31 14:57 | 显示全部楼层
DIVDEND = 被除数;
DIVISOR = 除数;
__nop();
商=DIVQUO;

评分

参与人数 1威望 +1 收起 理由
wenkoo + 1 正确

查看全部评分

 楼主| wenkoo 发表于 2013-7-31 15:02 | 显示全部楼层
新浪 发表于 2013-7-31 14:57
DIVDEND = 被除数;
DIVISOR = 除数;
__nop();

方**确,注意被除数是32位,除数是16位,商是32位
缥缈九哥 发表于 2013-7-31 16:03 | 显示全部楼层
厉害,新的M0都 有32位除法器?
laoxu 发表于 2013-8-1 18:03 | 显示全部楼层
不错~~~
 楼主| wenkoo 发表于 2013-8-2 09:37 | 显示全部楼层
结贴了,这年代牛人多:D
rambler 发表于 2013-8-2 15:49 | 显示全部楼层
如果用C写的话,编译器还不支持吧?
 楼主| wenkoo 发表于 2013-8-2 17:19 | 显示全部楼层
按照新浪的方法写一个函数进行调用就可以了,所以C语言是支持的。编译器无关
rambler 发表于 2013-8-2 21:54 | 显示全部楼层
wenkoo 发表于 2013-8-2 17:19
按照新浪的方法写一个函数进行调用就可以了,所以C语言是支持的。编译器无关 ...

写个函数当然可以,我的意思是编译器能针对性的使用该除法器优化计算。
elec921 发表于 2013-8-2 22:48 | 显示全部楼层
不知是否能自动对   XXXX/XXXX进行优化。
john_lee 发表于 2013-8-3 00:16 | 显示全部楼层
在不定制编译器的情况下,C做不到,C++可以做到。
rambler 发表于 2013-8-3 11:43 | 显示全部楼层
john_lee 发表于 2013-8-3 00:16
在不定制编译器的情况下,C做不到,C++可以做到。

你的意思是 C++  可以用重载"/"来实现?
john_lee 发表于 2013-8-3 17:14 | 显示全部楼层
呆板书生 发表于 2013-8-3 22:40 | 显示全部楼层
除法是M0的弱项
mcu5i51 发表于 2013-8-6 14:17 | 显示全部楼层
期待编译器的支持
zlq_pub 发表于 2013-8-9 17:44 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
minier 发表于 2013-8-13 16:33 | 显示全部楼层
这个真是好消息啊
rambler 发表于 2013-8-22 18:30 | 显示全部楼层
这个M05X D版要怎么算? 目前市场上比较多都是LBN后缀吧? 是怎么样对应的呢?  未来的LDN后缀?
rambler 发表于 2013-8-28 07:19 | 显示全部楼层
50M的速度下,一个普通的除法大约占去了14us, 这个传说的除法不知道什么时候才能用得上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部