简简单单的一个delay函数,也出现了意想不到的问题,求助

2019-07-15 19:20发布

RT,在写一个关于I2C的函数,出现问题了,而问题不在别的上,而在delay上,让我百思不得其解。
void delay() //延时
{
char x;
for(x=0;x<10;x++);
}
用以上的程序,运行出现问题,但当我改成for函数改成

for(x=1;x<11;x++);
问题就没了,这是怎么回事啊

另外之前也遇到过在别的程序中
for(i=0;i<8;i++);
不行,改成
for(i=1;i<9;i++);
或者倒过来都可以


如果是函数初始化的话我试过全部不初始化,也试过全部初始化都不行
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
olive2003
2019-07-16 23:08
jylfyzyz 发表于 2014-6-25 17:25
最好不要随便用ACC,看过一些说for(i=0;i0;i--)因为使用了ACC导致结果不同,最好新建一个变量。这是那位博 ...

嗯,了解了。之前我也曾经出现过用for(i=0;i<8;i++)出现错误的情况。然后后面两三天天尝试用for(i=8;i>0;i--),不过因为习惯问题,偶尔还是写错,就放弃了。看来今天要重新试着改这个习惯了。
问题解决,这帖子就让他沉了吧。
最后感谢提供解答,谢谢。

一周热门 更多>