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 + -
显示快捷键?