以前使用volatile时,只是为了不让变量被优化每次都重新取值。昨天试了下这个函数,发现使用volatile和不使用volatile差别非常的大,如下:
使用volatile
void delay(volatile u32 nCount)
{
for (; nCount != 0; nCount--);
}
不使用volatile
void delay(u32 nCount)
{
for (; nCount != 0; nCount--);
}
nCount越大,延时的差距越明显,呵呵,这个原理上也好解释。只 |