主题 : 关于MINI 2440test的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 3065
精华: 0
发帖: 13
金钱: 130 两
威望: 120 点
综合积分: 26 分
注册时间: 2008-12-25
最后登录: 2010-09-25
楼主  发表于: 2009-07-12 11:32

 关于MINI 2440test的问题

     我买的是友善的mini2440的板子,自带的非操作系统的test的程序。在LIB.C中有个Delay的函数
void Delay(int time)
{
    U32 val = (PCLK>>3)/1000-1;
    
    rTCFG0 &= ~(0xff<<8);
    rTCFG0 |= 3<<8;            //prescaler = 3+1
    rTCFG1 &= ~(0xf<<12);
    rTCFG1 |= 0<<12;        //mux = 1/2

    rTCNTB3 = val;
    rTCMPB3 = val>>1;        // 50%
    rTCON &= ~(0xf<<16);
    rTCON |= 0xb<<16;        //interval, inv-off, update TCNTB3&TCMPB3, start timer 3
    rTCON &= ~(2<<16);        //clear manual update bit
    while(time--) {
        while(rTCNTO3>=val>>1);
        while(rTCNTO3<val>>1);
    };
}
请问哪位大侠能指点一下这WHILE 里面的两个WHILE是什么意思吗?还有延迟具体多长时间?