EDN China > 其它文章 > 嵌入式系统 > 正文
?

到底怎么了??

作者:cola123?? 2008年10月22日 ?? 收藏0

  EDN博客精华文章??作者:cola123

  最近一直有个问题困扰着我,一个让我很受伤的问题,最近调了两个程序,最后总是得不到应有的结果,反反复复检查了好几天都没有调出来,最近终于发现了问题所在,两个程序都是for循环出的错,但是这个问题让我想破头也不知道原因,为什么这样会错了呢?

  问题一:

  源程序见附件http://space.ednchina.com/upload/2008/10/22/dbd7dae8-4913-4dfa-9a47-c98da8156e11.rar,其中Ds1302.h中有一个函数如下:

程序

  问题如下:

  如果for 循环是(i=8;i>0;i--)一切正常,仿真也没有问题,但是写成(i=0;i<8;i++)的话就仿真不出来了,如果是(i=1;i<9;i++)的话又能正常了,不知道有什么玄机,想破头也没有想出来,哪位高手指点一下迷津啊????

  问题二:

  这是一个18B20的初始化程序,函数功能是给18B20写一个字节,

程序

  红体的for循环,如果是for(j=8;j>0;j--)或者for(j=0;j<8;j++)时程序都会出现错误的结果,但是如果改为for(j=9;j>1;j--),程序就能正常了

  我觉得这两个问题都是相同的问题,一定是我某个地方的知识没有掌握,由于身边没有人可以请教,所以恳请高手们帮我指出问题的所在,提携一下我这个后进青年,不胜感激!!