转载:https://blog.csdn.net/dddd0216/article/details/50446062
今天调试程序时候,写了一个延时函数竟然发现没有延时作用,如下:
static void delay(void) //static 作用:函数隐藏 变量持久和默认0
{
unsigned int i, j;
for(i=0; i<5000; i++)
for(j=0; j<1000; j++);
}
注:调试时没有延时作用
解决办法:
static void delay(void) //static 作用:函数隐藏 变量持久和默认0
{
volatile unsigned int i, j;
for(i=0; i<5000; i++)
for(j=0; j<1000; j++);
}
注:当加上volatile关键字时,不对无符号整型i, j进行优化。问题就解决了