📄 time.c
字号:
#include "port.h"
#include "function.h"
#include "Exvariable.h"
#include "ExHeadFileRs232.h"
//定时器用T0
//定时器1次中断时间间隔是65ms
//如果有向485口发送1帧数据,485没有响应,
//连续发三次,还是没有响应,置故障标志位
void T0InterruptServe(void) interrupt 1
{
SFRPAGE=TIMER01_PAGE;
TF0=0;
ET0=0;
TR0 = 0; // Close Timer 1
CountT0--;
if( CountT0==0x00)
{
AnalysisFlag=0;
T0LookupModule();
}
else
{
SendToModuleFlag=1;
}
}
void T0LookupModule( void )
{
unsigned int i;
CountT0=0x03;
SFRPAGE=CONFIG_PAGE;
LampStateMonitor=!LampStateMonitor;
switch(Rs485RxBuffer[30])
{
case 0x01:
case 0x02:
case 0x03:
case 0x04:
case 0x05:
case 0x07:
switch(Rs485RxBuffer[31])
{
case 0x00:
Rs485RxBuffer[31]=0x08;
SendToModuleFlag=1;
break;
case 0x08:
Rs485RxBuffer[30]++;
Rs485RxBuffer[31]=0x00;
SendToModuleFlag=1;
break;
default:
break;
}
break;
case 0x0a:
switch(Rs485RxBuffer[31])
{
case 0x00:
Rs485RxBuffer[31]=0x08;
SendToModuleFlag=1;
break;
case 0x08:
SendToModuleFlag=0;
SFRPAGE=CONFIG_PAGE;
LampStateMonitor=0x00;
break;
default:
break;
}
break;
case 0x06:
switch(Rs485RxBuffer[31])
{
case 0x00:
Rs485RxBuffer[30]++;
SendToModuleFlag=1;
break;
default:
break;
}
break;
case 0x08:
switch(Rs485RxBuffer[31])
{
case 0x00:
Rs485RxBuffer[31]=0x01;
SendToModuleFlag=1;
break;
case 0x01:
Rs485RxBuffer[31]=0x08;
SendToModuleFlag=1;
break;
case 0x08:
Rs485RxBuffer[30]++;
Rs485RxBuffer[31]=0x00;
SendToModuleFlag=1;
break;
default:
break;
}
break;
case 0x09:
switch(Rs485RxBuffer[31])
{
case 0x00:
Rs485RxBuffer[31]=0x08;
SendToModuleFlag=1;
break;
case 0x08:
Rs485RxBuffer[31]=0x09;
SendToModuleFlag=1;
break;
case 0x09:
Rs485RxBuffer[30]++;
Rs485RxBuffer[31]=0x00;
SendToModuleFlag=1;
break;
default:
break;
}
break;
default:
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -