打印

请教,中断函数中using m如何使用?

[复制链接]
3241|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
江陵龙少|  楼主 | 2010-5-13 21:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的理解是:
   使用using m后,原寄存器组,不用进栈出栈,节省了32个时钟周期,但是它要求,中断函数所调用的函数使用的寄存器必须和m一致,在实际编程中,怎么把握这一点?

   如果让我写中断函数,为了简单,我肯定不会加using m参数,作为高手,不知是如何处理的呢?

敬请赐教!

相关帖子

沙发
xlsbz| | 2010-5-14 20:53 | 只看该作者
高手一般是这样处理的。
干脆不知道using m是什么东西。

因为高手有自知之明,高手再高,也没有编译器高!

使用特权

评论回复
板凳
fkcolor| | 2010-5-14 20:56 | 只看该作者
不知道是什么函数~~~

使用特权

评论回复
地板
xlsbz| | 2010-5-14 21:13 | 只看该作者
1# 江陵龙少



KEIL 3.4版本之前编程是得用using的。

你想弄using,可以先从普通函数下手。

比如  void xiangnongusing (void) using  2

使用特权

评论回复
5
David_ming| | 2010-5-14 22:18 | 只看该作者
8051有4组暂存器,using是手动分配寄存器组给中断用,用using关键字可以省掉保存R0-R7的时间,响应更快速

使用特权

评论回复
6
ayb_ice| | 2010-5-15 09:06 | 只看该作者
使能不使用绝对寄存器即可任意使用using
这样中断函数效率高了,但普通函数却变低了
建议中断不调用任何函数(调用也可以,但设置很麻烦)使用using,使能绝对寄存器访问,这样效率都很高
搞清楚原理当然可以任意使用了
另外using可能浪费RAM,同一优先级的中断可以使用同一寄存器组
总之using**可多了
看资料吧
....

使用特权

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

本版积分规则

85

主题

279

帖子

2

粉丝