timer0.c
来自「nrf9e5 nordic公司出品的带有无线发送接收的单片机的bootloade」· C语言 代码 · 共 41 行
C
41 行
#include "reg9e5.h"
#include "PubFunc.h"
#include "timer0.h"
#include <intrins.h>
//debug end
WORD data gwSystemTime;
void SetCustomTimer(CUSTOM_TIMER *ptmr, WORD data wElapse)
{
ET0 = 0;
ptmr->wStart = gwSystemTime;
ET0 = 1;
ptmr->wEnd = ptmr->wStart + wElapse;
ptmr->bytType = 0;
}
//返回值
// 0 尚未超时
// 1 已经超时
bit IsTimeOut(CUSTOM_TIMER *ptmr)
{
WORD data wNow;
ET0 = 0;
wNow = gwSystemTime;
ET0 = 1;
if(ptmr->bytType == 0){
return (wNow > ptmr->wEnd || wNow < ptmr->wStart);
}else{
return (wNow > ptmr->wEnd && wNow < ptmr->wStart);
}
}
void timer0(void) interrupt TF0_VECTOR
{
TH0 = RELOAD_TIMER0_TH0;
TL0 = RELOAD_TIMER0_TL0;
gwSystemTime++;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?