[新手园地] 一个延时程序的疑问

[复制链接]
 楼主| 追梦—者 发表于 2011-8-18 17:12 | 显示全部楼层 |阅读模式
void delayms(unsigned int ms)
// 延时子程序
{      
unsigned char i;
while(ms--)
{
  for(i = 0; i < 120; i++);
}
}

为什么我这个延时在中断里执行时会陷入是循环?请各位指点指点。。
hotpower 发表于 2011-8-18 21:16 | 显示全部楼层
中断里不易长延时
plc_avr 发表于 2011-8-19 11:04 | 显示全部楼层
我一看到中断里用延时,就头大。。。。。。为什么要这样子搞,没有别的方法了么....
 楼主| 追梦—者 发表于 2011-8-19 15:12 | 显示全部楼层
2# hotpower


能具体讲讲不?为什么不易长延时呀?中断不嵌套的30ms算长不?
plc_avr 发表于 2011-8-19 15:24 | 显示全部楼层
晕!不能一概而论,中断处理是越短越好。
电子write_cai 发表于 2011-8-22 23:47 | 显示全部楼层
了解。
zhangjunye 发表于 2011-8-24 09:56 | 显示全部楼层
水平太烂
X-Hawk 发表于 2011-8-24 10:02 | 显示全部楼层
可能中断没做完,已经有新的中断产生了,
于是中断一退出,又再一次进入。
然后看起来就像一直在死循环了。

还是那句话,
中断不宜长时间等待。
ddllxxrr 发表于 2011-9-13 20:47 | 显示全部楼层
中断时不要调别的函数,这样又有堆栈很容易死秋秋
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝

0

主题

2

帖子

1

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