打印

不运行延时程序

[复制链接]
1822|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuww|  楼主 | 2011-4-21 21:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序中运行到延时程序,程序就好像死机了,什么反应都没有了
沙发
zhanglli| | 2011-4-21 21:33 | 只看该作者
延时程序能进入吗?

使用特权

评论回复
板凳
zhuww|  楼主 | 2011-4-21 21:38 | 只看该作者
程序跳出后,不知程序跑到哪里去了,就死机了。软件模拟是没有问题的。
c51写的。

使用特权

评论回复
地板
lium| | 2011-4-21 21:57 | 只看该作者
程序呢

使用特权

评论回复
5
zhuww|  楼主 | 2011-4-21 21:59 | 只看该作者
void delayms(unsigned int tt) {
    unsigned int t;                    //   ?                             
    for(;tt>0;tt--)               
       for(t=230;t>0;t--)        //  ?        
        {                                                
          ;
        }     
}

使用特权

评论回复
6
guoyt| | 2011-4-21 22:04 | 只看该作者
unsigned int t;反汇编看看t是什么样的,会不会因为该值是临时变量,由于中断的缘故,该变量的值老是被修改而无法到达0。

使用特权

评论回复
7
zhuww|  楼主 | 2011-4-21 22:08 | 只看该作者
已经把程序中大部分都删除了,就留一个延时程序了,真正原因还是没找到啊!

使用特权

评论回复
8
hanwe| | 2011-4-21 22:18 | 只看该作者
可以用char的要用int。

使用特权

评论回复
9
yufe| | 2011-4-21 22:20 | 只看该作者
考虑狗、中断、和函数重入、堆栈溢出的问题。

使用特权

评论回复
10
llia| | 2011-4-21 22:30 | 只看该作者
加入:NOP NOP试试。

使用特权

评论回复
11
qingsong163| | 2011-4-21 22:35 | 只看该作者
路过:)

使用特权

评论回复
12
zhuww|  楼主 | 2011-4-21 22:44 | 只看该作者
好的,我试试

使用特权

评论回复
13
hgjinwei| | 2011-4-22 07:32 | 只看该作者
可以肯定地说,这个函数没问题,问题出在其他地方。

使用特权

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

本版积分规则

893

主题

8252

帖子

1

粉丝