打印

halt后面的几条nop指令应该是无用的吧

[复制链接]
2735|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2011-2-10 09:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定时器可以唤醒halt模式,而系统从halt退出首先执行定时器中断程序,那么halt后面的几条nop指令应该是无用的吧?
沙发
wangpe| | 2011-2-10 10:09 | 只看该作者
不是一定需要的吧

使用特权

评论回复
板凳
hanwe|  楼主 | 2011-2-10 10:34 | 只看该作者
如果程序只有一个中断,是不是应该把nop指令移到定时器中断程序的开始部分?

使用特权

评论回复
地板
wangpe| | 2011-2-10 10:44 | 只看该作者
也不是不可以

使用特权

评论回复
5
hanwe|  楼主 | 2011-2-10 10:57 | 只看该作者
哦,那是不是实际意义不是很大啊

使用特权

评论回复
6
wangpe| | 2011-2-10 11:22 | 只看该作者
恩,实际意义不大,但也不会影响到功能

使用特权

评论回复
7
yewuyi| | 2011-2-10 11:32 | 只看该作者
这是一种良好的编程习惯。

在HALT唤醒后,防止MCU各个外围模块启动不同步,一般放几个NOP延迟等待一下再操作。

这些都人前人的血泪教训积累下来的经验,继承经验的时候,很多人不明白原因,可能多数情况下无所谓,但多谢几个NOP又不会什么大事情,为了防止那些小概率事件,保留它也是不错的选择。

使用特权

评论回复
8
hanwe|  楼主 | 2011-2-10 12:31 | 只看该作者
哦,略有所懂

使用特权

评论回复
9
wangpe| | 2011-2-10 13:18 | 只看该作者
是这样的,halt and stop (idle or power-down)后面加NOP是由于cpu是 piple-line结构,在执行halt的同时,将后面几条指令取指了。

使用特权

评论回复
10
wangpe| | 2011-2-10 13:35 | 只看该作者
这样从halt唤醒后,这两条指令不会执行了。所以还是要加在halt or stop后面。

使用特权

评论回复
11
wangzsa| | 2011-2-10 14:06 | 只看该作者
有些时候可能是为了时钟的切换,添加几条无意义的nop指令是为了保证不出错。

使用特权

评论回复
12
hanwe|  楼主 | 2011-2-10 14:31 | 只看该作者
哦,理解了,呵呵

使用特权

评论回复
13
yuyixuanta| | 2011-2-10 14:58 | 只看该作者
有用的,不要去掉

使用特权

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

本版积分规则

979

主题

8749

帖子

4

粉丝