timeunit.cpp
来自「基于PC104平台」· C++ 代码 · 共 42 行
CPP
42 行
////////////////////////////////////////////////////////
// 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 + =
减小字号Ctrl + -
显示快捷键?