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

📄 timeunit.cpp

📁 基于PC104平台
💻 CPP
字号:
////////////////////////////////////////////////////////
//               time standard unit                   //
////////////////////////////////////////////////////////
#include "timeunit.h"

void SetTimer();   				// set 8253 interrupt
void ResetTimer(); 				// reset 8253 interrupt
void interrupt timer_newhand(...);  	// interrupt service
void interrupt (*timer_oldhand)(...); 	// keep old service program

void interrupt timer_newhand(...)
{
    int i;
//	cdt_timer++; if(cdt_timer>2000) cdt_timer=3000;
//	for (i = 0; i < 200; i++);

		if (ykoper.timer++ > 30000) ykoper.timer = 0;

		for (i = 0; i < 10; i++) {
			//below count query and check time gap
			if (isatimer[i].querycount++ >= 2000) isatimer[i].querycount = 0;
			if (isatimer[i].checktime++ >= 7000) isatimer[i].checktime = 0;
			//above count query and check time gap
			if (port_run_flag[i] == TRUE) watchdog[i]++;
			if (watchdog[i] >= 60000) watchdog[i] = 0;
		}
		timer_oldhand();
}

void SetTimer()
{
	timer_oldhand = getvect(TIMERINT);          // keep old int service
	setvect(TIMERINT, timer_newhand);          // load new int service
}

void ResetTimer()
{
	setvect(TIMERINT, timer_oldhand);		// restore old int service
}


⌨️ 快捷键说明

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