void delay_ms(u16 nms)有疑问

2019-07-20 06:56发布

void delay_ms(u16 nms)
{
    u32 i;
    for(i=0;i<nms;i++)
    {
        delay_us(1000);
    }   
}

我用的例程是F4的串口例程,编译器优化等级是2,有用到delay_ms(10)。用到delay_ms函数里的变量i是没有加volatie的,我认为delay_us(1000)只执行一次才对啊,为什么还会执行10次?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。