不运行延时程序

[复制链接]
2005|11
 楼主| zwll 发表于 2012-5-24 21:07 | 显示全部楼层 |阅读模式
程序中运行到延时程序,程序就好像死机了,什么反应都没有了
llljh 发表于 2012-5-24 21:08 | 显示全部楼层
延时程序能进入吗?
 楼主| zwll 发表于 2012-5-24 21:09 | 显示全部楼层
程序跳出后,不知程序跑到哪里去了,就死机了。软件模拟是没有问题的。
c51写的。
kangzj 发表于 2012-5-24 21:10 | 显示全部楼层
程序呢
 楼主| zwll 发表于 2012-5-24 21:12 | 显示全部楼层
void delayms(unsigned int tt) {
    unsigned int t;                    //   ?                             
    for(;tt>0;tt--)               
       for(t=230;t>0;t--)        //  ?        
        {                                                
          ;
        }     
}
司徒老鹰 发表于 2012-5-24 21:13 | 显示全部楼层
unsigned int t;反汇编看看t是什么样的,会不会因为该值是临时变量,由于中断的缘故,该变量的值老是被修改而无法到达0。
 楼主| zwll 发表于 2012-5-24 21:14 | 显示全部楼层
已经把程序中大部分都删除了,就留一个延时程序了,真正原因还是没找到啊!
dingy 发表于 2012-5-24 21:15 | 显示全部楼层
可以用char的要用int。
renyaq 发表于 2012-5-24 21:16 | 显示全部楼层
考虑狗、中断、和函数重入、堆栈溢出的问题。
pengf 发表于 2012-5-24 21:17 | 显示全部楼层
加入:NOP NOP试试。
 楼主| zwll 发表于 2012-5-24 21:20 | 显示全部楼层
好的,我试试
 楼主| zwll 发表于 2012-5-24 21:20 | 显示全部楼层
先结贴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

885

主题

11314

帖子

5

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