问题:1:这两个while的延迟时间为什么差别这么大???第一个(注释掉的部分)差不多3秒多,也能接受。第二个整整10s多。 
2:最想问还是__NOP运行一次多长时间???它应该跟系统时钟设置有关吧?我该怎设置,使用NOP来做一个更准确的延迟??? 
 
void delay_s(uint32_t second) 
{ 
        uint32_t i; 
        uint32_t j = second*1000; 
        for(i=0;i<second;i++) 
        { 
//                while(j>0) 
//                { 
//                 CLK_SysTickDelay(1000); 
//                        j--; 
//                } 
                for(j=0;j<second*1000;j++) 
                         CLK_SysTickDelay(1000);         
 
//                         
//        } 
//        for(i=0;i<1000000*second;i++) 
//        { 
//                __NOP ; 
//                __NOP ; 
//        } 
        } 
 
谢谢,期待你的答复!!!!!! 
 
 |