[求助] 这个函数延时多长时间?

mudashu   2011-4-14 20:57 楼主
void delay()
{
int i,j=0;
for (i=0; i<0xfffff; i++) j++;
}

回复评论 (8)

跟芯片时钟相关,将c代码转换成汇编,再差代码执行时间表累加即可获知。
点赞  2011-4-14 21:01
很多IDE都有延时测算,你自己算半天不如上板子跑下,IDE里自然能看到时间。
点赞  2011-4-15 07:08
利用集成调试环境当然也可以,但对于学习的过程而言,不如先弄懂方法。
点赞  2011-4-15 20:28

回复 4楼 chunyang 的帖子

请教方法
点赞  2011-4-15 22:51
我在2楼说的就是方法,汇编代码的执行周期数可以查表获知,机器周期则由时钟频率决定,剩下的就是小学算术了。
点赞  2011-4-15 23:18
在keil里面realtime模拟下看看吧.其实这种延时都是象征性延时一会  感觉差不多能用得了...需要精确延时用定时器中断
点赞  2011-4-16 12:09
靠代码的执行时间来延时的精度是没问题的,问题只是高级语言隔了一层,无法精确了解而已,汇编就不会。
点赞  2011-4-16 13:50
现在不像从前,很多东东西没法算,特别是新型核心,流水线下时间是很难确定的,除非你是微机原理的大牛,到那个水平你都可以自己去设计处理器了。所以还是IDE算的接近,也不见得准确,真正准确的还是用示波器跑下。
点赞  2011-4-17 17:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复