打印

关于S3C44B0X中的延时校准程序

[复制链接]
2478|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alist2005|  楼主 | 2008-7-24 16:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我所买的ARM开发板中附带了一段测试程序,其中有一段一直没弄明白,按注解的意思应该是一段延时校准程序,但我不明白其中的原理,哪位高人帮我一下,谢谢。代码如下:
void Delay(int time)
// time=0: adjust the Delay function by WatchDog timer.
// time>0: the number of loop time 100us resolution.
{
    int i,adjust=0;
    if(time==0)
    {
    time=200;
    adjust=1;
    delayLoopCount=400;
    rWTCON=((MCLK/1000000-1)<<8)|(2<<3);  // 1M/64,Watch-dog,nRESET,interrupt disable
    rWTDAT=0xffff;
    rWTCNT=0xffff;     
    rWTCON=((MCLK/1000000-1)<<8)|(2<<3)|(1<<5); // 1M/64,Watch-dog enable,nRESET,interrupt disable 
    }
    for(;time>0;time--)
    for(i=0;i<delayLoopCount;i++);

//这下面的部分尤其不明白是干什么用的???
    if(adjust==1)
    {
    rWTCON=((MCLK/1000000-1)<<8)|(2<<3);
    i=0xffff-rWTCNT;   //  1count/16us?????????
    delayLoopCount=8000000/(i*64);    //400*100/(i*64/200)   
    }
}
这个程序主要是最后一部分我不知道是什么意思,为什么要这样做?如何实现校准的?谢谢

相关帖子

沙发
dld2| | 2008-7-24 17:05 | 只看该作者

相当于

相当于用watchdogtimer测量了
for(;time>0;time--)
    for(i=0;i<delayLoopCount;i++);
的运行时间。

然后修改delayLoopCount。

使用特权

评论回复
板凳
alist2005|  楼主 | 2008-7-24 17:16 | 只看该作者

谢谢啊,不过可以说的稍微详细点吗?不明白

使用特权

评论回复
地板
alist2005|  楼主 | 2008-7-24 19:21 | 只看该作者

没人知道了?

没人知道了?
帮帮俺这个新手啊,谢谢

使用特权

评论回复
5
dld2| | 2008-7-24 19:48 | 只看该作者

rWTCON=((MCLK/1000000-1)<<8)|(2<<3);

按这样设置,WT的一个周期是多少us啊?

i=0xffff-rWTCNT;
i个周期是多少时间?
假设为T.

当delayLoopCount为400时,那个循环的运行时间为T。
那么当delayLoopCount为多少时,运行时间为100us呢?



使用特权

评论回复
6
alist2005|  楼主 | 2008-7-24 20:41 | 只看该作者

谢谢,我算出来了

使用特权

评论回复
7
飞行一族| | 2011-11-25 10:49 | 只看该作者
大侠,我的开发板也是44b0.但是我也不会算这个函数是如何延时100us的,能给我详细讲一下?

使用特权

评论回复
8
飞行一族| | 2011-11-25 10:50 | 只看该作者
大侠,我的开发板也是44b0.但是我也不会算这个函数是如何延时100us的,能给我详细讲一下?

使用特权

评论回复
9
飞行一族| | 2011-11-25 10:50 | 只看该作者
大侠,我的开发板也是44b0.但是我也不会算这个函数是如何延时100us的,能给我详细讲一下?

使用特权

评论回复
10
vans88| | 2014-1-11 17:45 | 只看该作者
这段程序在使用之前 需要使用Delay(0) 进行校准

使用特权

评论回复
11
vans88| | 2014-1-11 17:46 | 只看该作者
上面的程序看梦狗的递减时间为128us

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

0

粉丝