在uboot中有以下参考代码可用于微秒级延时。
这是完全的软件延时,原理是依靠cup“空转”忙等。
因为不同平台的cpu频率不同,因此单次“空转”所消耗的时间也不同。
针对不同的平台,可以修改以下红色数字,以达到匹配实际延时之目的。
在某一平台,我将以下数字改为100后,实测的udelay(1) 为精确的1微秒。
这个值需要客户基于个体平台实测。
//=================================
#define udelay(x)
do {
volatile int i;
int cnt = 100 * x;
for (i=0; i
//=================================
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!