timer.c

来自「ARM得编程实例。很经典。在win ce5.0环境下的编程实例」· C语言 代码 · 共 55 行

C
55
字号
#include "timer.h"

void settimer(TIMER *ptimer, unsigned int ntime)
{
    ptimer->settime = ntime*3866;
}

void starttimer(TIMER *ptimer)
{
    ptimer->bstart = 1;
    ptimer->starttime = *(unsigned int *)0x40a00010;
}

void stoptimer(TIMER *ptimer)
{
    ptimer->bstart = 0;
    ptimer->starttime = 0;
}

unsigned char isTimeout(TIMER *ptimer)
{
    unsigned int curtime = 0;
    
    if (ptimer->bstart)
    {
        curtime = *(unsigned int *)0x40a00010;
        if (curtime > ptimer->starttime)    
        {
            if (curtime - ptimer->starttime >= ptimer->settime)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        }
        else
        {
            if (curtime + (unsigned int)0xffffffff - ptimer->starttime >= ptimer->settime)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        }
    }
    else
    {
        return(0);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?