void delay()
{
int i,j=0;
for (i=0; i<0xfffff; i++) j++;
}
跟芯片时钟相关,将c代码转换成汇编,再差代码执行时间表累加即可获知。
很多IDE都有延时测算,你自己算半天不如上板子跑下,IDE里自然能看到时间。
利用集成调试环境当然也可以,但对于学习的过程而言,不如先弄懂方法。
我在2楼说的就是方法,汇编代码的执行周期数可以查表获知,机器周期则由时钟频率决定,剩下的就是小学算术了。
在keil里面realtime模拟下看看吧.其实这种延时都是象征性延时一会 感觉差不多能用得了...需要精确延时用定时器中断
靠代码的执行时间来延时的精度是没问题的,问题只是高级语言隔了一层,无法精确了解而已,汇编就不会。
现在不像从前,很多东东西没法算,特别是新型核心,流水线下时间是很难确定的,除非你是微机原理的大牛,到那个水平你都可以自己去设计处理器了。所以还是IDE算的接近,也不见得准确,真正准确的还是用示波器跑下。