打印

程序就好像死机了

[复制链接]
672|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2017-12-24 10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序中运行到延时程序,程序就好像死机了,什么反应都没有了
沙发
huwr| | 2017-12-24 10:48 | 只看该作者

延时程序能进入吗?

使用特权

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

使用特权

评论回复
地板
huanghuac| | 2017-12-24 10:53 | 只看该作者
程序呢

使用特权

评论回复
5
gongche|  楼主 | 2017-12-24 10:56 | 只看该作者
void delayms(unsigned int tt) {
    unsigned int t;                    //   ?                             
      for(;tt>0;tt--)               
       for(t=230;t>0;t--)        //  ?        
          {                                                
          ;
          }     
}

使用特权

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

使用特权

评论回复
7
gongche|  楼主 | 2017-12-24 11:10 | 只看该作者
已经把程序中大部分都删除了,就留一个延时程序了,真正原因还是没找到啊!

使用特权

评论回复
8
bqyj| | 2017-12-24 11:13 | 只看该作者

可以用char的要用int。

使用特权

评论回复
9
wenfen| | 2017-12-24 11:17 | 只看该作者
考虑狗、中断、和函数重入、堆栈溢出的问题。

使用特权

评论回复
10
zhuhuis| | 2017-12-24 11:19 | 只看该作者
加入:NOP NOP试试。

使用特权

评论回复
11
tian111| | 2017-12-24 11:21 | 只看该作者
可以肯定地说,这个函数没问题

使用特权

评论回复
12
songqian17| | 2017-12-24 11:23 | 只看该作者

问题出在其他地方。

使用特权

评论回复
13
gongche|  楼主 | 2017-12-24 11:34 | 只看该作者
void delayms(unsigned int tt) {
    unsigned int t;                    //   ?                             
      for(;tt>0;tt--)
{               //少一个
         for(t=230;t>0;t--)        //  ?        
          {                                                
          ;
          }     
}//少一个

}

使用特权

评论回复
14
chenho| | 2017-12-24 11:39 | 只看该作者

我觉得问题会不会出现在你调用延时函数主调函数和你定义变量tt这里,把程序在好好检查一下

使用特权

评论回复
15
gongche|  楼主 | 2017-12-24 11:44 | 只看该作者
好的,我再看看

使用特权

评论回复
16
huwr| | 2017-12-24 11:44 | 只看该作者
可以对程序中的函数单步运行看看,看会出现情况

使用特权

评论回复
17
huanghuac| | 2017-12-24 11:47 | 只看该作者
我觉得问题可能在你的变量名上,t和tt稍微不注意会混乱

使用特权

评论回复
18
happy_10| | 2017-12-24 11:58 | 只看该作者
改个变量名试试吧~ 程序没有问题~

使用特权

评论回复
19
bqyj| | 2017-12-24 12:02 | 只看该作者
看过了

使用特权

评论回复
20
wenfen| | 2017-12-24 12:06 | 只看该作者
应该不是这个问题,看看其他吧,还有你知道你的那个函数运行了多长时间吗?

使用特权

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

本版积分规则

768

主题

9410

帖子

2

粉丝