在
,时钟频率clk = 100M 的情况下测得usleep()函数的延时情况。
代码相当的简单,用一管脚输出高低电平,用示波器测得:
usleep(1) = 12.5 us;
usleep(5) = 16.5 us;
usleep(10) = 21.5 us;
usleep(20) = 31.5 us;
usleep(50) = 61.0 us;
usleep(100) = 110.6 us;
usleep(200) = 210.0 us;
usleep(500) = 507.0 us;
usleep(1000) = 1 ms;
usleep(5000) = 4.96 ms;
usleep(10 000) = 9.92 ms;
在单步调试的时候发现 usleep函数设计到底层的一些函数,就没有深入研究。把nios系统时钟改成50M,SDRAM 时钟还是100M时,发现系统貌似可以正常运行,并且延时时间不变,不知道这是怎么个故事,期待高手解答一下。
本文通过实验记录了usleep函数在不同参数设置下的实际延时情况,并探讨了时钟频率变化对延时效果的影响。
804

被折叠的 条评论
为什么被折叠?



