⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sleep.c

📁 在AVR 平台下的控制代码,通过CAN控制
💻 C
字号:
#include "std.h"
#include "sleep.h"
void tdSleep(Word wMilliseconds)
{
    Dword t;
    t = tdGetTickCount();
    while (!tdCompareTickCount(t, wMilliseconds));
}

 Bool tdCompareTickCount(Dword dwOriginalTickCount, Word wInterval)
{                                                              
    Dword t;
    
    t = tdGetTickCount();
    
    if (t - wInterval > t)
    {  // overflowed                               
        if (t + 1 + ~dwOriginalTickCount >= wInterval)
            return _TRUE_;
        else
            return _FALSE_;
        
    } else
    {   
        if (t >= dwOriginalTickCount)
        {
            if (t - wInterval >= dwOriginalTickCount)
                return _TRUE_;
            else
                return _FALSE_;
        } else
            return _TRUE_;
    }
    
}

/* set the value in ISR */
Dword t_dwTimerCount;
Dword tdGetTickCount(void)
{                        

    Dword t;
//    _DI();
    t = t_dwTimerCount;
//    _EI();
    return t;
}

⌨️ 快捷键说明

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