打印

编译后有个注意的事项不知对程序有无影响

[复制链接]
1976|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zyf部长|  楼主 | 2012-10-26 19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
juventus9554| | 2012-10-26 19:23 | 只看该作者
中断中,能用 nop()语句吗?

使用特权

评论回复
板凳
zwll| | 2012-10-26 19:26 | 只看该作者

_nop_();
而不是
_nop_;

使用特权

评论回复
地板
juventus9554| | 2012-10-26 19:26 | 只看该作者
只要不超过中断时间应该可以

使用特权

评论回复
5
zyf部长|  楼主 | 2012-10-26 19:27 | 只看该作者
中断还有时间,一般怎么算这个时间?

使用特权

评论回复
6
llljh| | 2012-10-26 19:28 | 只看该作者
只有定时中断才会有时间,当然任何中断都不宜执行时间太长,因为中断往往只是处理最关键的响应。执行太长会影响整个程序的执行。而且中断里面尽量不要加延时,虽然语法上可以。

使用特权

评论回复
7
pengf| | 2012-10-26 19:29 | 只看该作者
_nop_();
是空指令。

使用特权

评论回复
8
renyaq| | 2012-10-26 19:32 | 只看该作者
中断还有时间,一般怎么算这个时间?
zyf部长 发表于 2012-10-26 19:27
假设你的定时器为1ms的中断,而你在中断里面执行的程序的时间超过了1ms。你过你的中断程序有没有问题。

使用特权

评论回复
9
supernan| | 2012-10-26 19:35 | 只看该作者
可以用。。_nop_指令意思就是在原地踏步下,也就一条指令的时间几Us,一般用中断定时不会那么小。。所以可以用。。。

使用特权

评论回复
10
morrisk| | 2012-10-26 19:35 | 只看该作者
根据需要而定,一般中断中代码执行时间如果没超过中断时间的2/3,就没问题

使用特权

评论回复
11
栩栩如生| | 2012-10-26 19:37 | 只看该作者
理论上是可以的

使用特权

评论回复
12
morrisk| | 2012-10-26 19:37 | 只看该作者
中断一般来说都是尽量短,对于有些单片机,需要重新赋初值,如果你延时过长,有可能导致在主程序中运行的时间过短,造成频繁中断,后果有时会很严重

使用特权

评论回复
13
houcs| | 2012-10-26 19:39 | 只看该作者
最好不要用吧,因为用了会占用CPU时间,影响效率,中断是尽力在最短的时间里完成的。

使用特权

评论回复
14
liuzaiy| | 2012-10-26 19:39 | 只看该作者
中断里可以执行任何指令,包括空操作,是否有必要或效率什么的则是另一回事。

使用特权

评论回复
15
yinxiangh| | 2012-10-26 19:41 | 只看该作者
理论上中断可以运行任何程序,但考虑到整体程序的效率和程序执行的稳定性终端的时间越小越好。

使用特权

评论回复
16
morrisk| | 2012-10-26 19:42 | 只看该作者
有时候也是没办法的事情,比如更新PWM的占空比,要有较复杂的运算。

使用特权

评论回复
17
zyf部长|  楼主 | 2012-10-26 19:44 | 只看该作者
哦,有道理

使用特权

评论回复
18
zyf部长|  楼主 | 2012-10-26 19:45 | 只看该作者
那就先结贴了,多谢几位大侠

使用特权

评论回复
19
gaochy1126| | 2012-10-26 23:22 | 只看该作者
用延时是在浪费处理器的工作效率

使用特权

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

本版积分规则

694

主题

7102

帖子

8

粉丝