打印

调用延时程序的疑问

[复制链接]
2252|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ksslx|  楼主 | 2007-10-24 15:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
******************************************************
void delay(uchar time)
{
    uchar i;
    uint j;
    for(i=0;i<time;i++)
                for(j=0;j<0x900;j++);
}//调用这个延时程序,其结果:运行正常
******************************************************

void delay(unsigned char time)
{
  unsigned char ii,jj;
  for(ii=0;ii<time;ii++)
    {
      for(jj=0;jj<250;jj++)
      _nop_();            
    }    
}//调用这个延时程序,其结果:运行不正常
*******************************************************

各位高手能解释一下,是为什么吗?(我用的芯片是C8051F060)

相关帖子

沙发
mamalihui| | 2007-10-24 16:02 | 只看该作者

怎么个不正常法

使用特权

评论回复
板凳
ksslx|  楼主 | 2007-10-24 16:27 | 只看该作者

回楼上

第一个就不能用   第二个可以用

使用特权

评论回复
地板
ayb_ice| | 2007-10-24 16:34 | 只看该作者

程序本身没有问题。。。

使用特权

评论回复
5
ksslx|  楼主 | 2007-10-24 17:21 | 只看该作者

ayb_ice

程序没问题,那会是哪的问题啊?我用的时候就是第二个就是不能用的!

使用特权

评论回复
6
eraychen| | 2007-10-24 19:39 | 只看该作者

编译不通过?

使用特权

评论回复
7
wangdafeng| | 2007-10-24 22:45 | 只看该作者

_nop_();

 _nop_()要加一个头文件  忘记叫什么了

使用特权

评论回复
8
ayb_ice| | 2007-10-25 08:05 | 只看该作者

随便说说

LZ这种提问和废话差不多。。。
运行不正常的定义可多了,什么不正常,哪里不正常。。。
比如说这两个函数延时间都不一样,产生不一样的结果那是正常情况。。。

使用特权

评论回复
9
ksslx|  楼主 | 2007-10-25 10:15 | 只看该作者

ayb_ice

你说的我好惭愧啊!我是发光LED亮灭调用的这个延时程序,结果就是第一个可以用的(发光管闪),第二个不行(发光管不闪)。
另外回7楼的,我的程序已经调用了那个头文件了...

使用特权

评论回复
10
sanwa_chen| | 2007-10-25 11:51 | 只看该作者

我晕

你第二个延时时间如果很短当然看不到LED闪了
两个程序的延时时间差那么老多,结果自然不一样!!!

使用特权

评论回复
11
ksslx|  楼主 | 2007-10-25 12:56 | 只看该作者

哦 明白了

谢谢楼上的阿   豁然开朗阿!

使用特权

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

本版积分规则

35

主题

105

帖子

0

粉丝