📄 monitor.c
字号:
#include "port.h"
#include "function.h"
#include "Exvariable.h"
void MonitorInterruptServe(void) interrupt 20
{
static char i;
if(RI1)
{
RI1=0;
SbufTempMonitor=SBUF1;
if (!RecFlagMonitor)//判断接收标志
{
if (SbufTempMonitor!=FrameStartMonitor)
return ;
RecFlagRs232 = 1;
i++;
return ;
}
else if(SbufTempMonitor!=FrameEndMonitor)
{
CommandsMonitor=SbufTempMonitor;
i++;
}
else if(i==2)
{
AnalysisMonitorFlag=1;
}
else
RecFlagMonitor=0;
}
if(TI1)
{
TI1=0;
if ((--(LenSendToMonitor)) == 0x00)
{
//发送完毕,Rs232转换到接收状态
// Rs232DE = 0;
// REN = 1;
// Greenled_flash = 0;
}
else
//Rs232DE=1;
SBUF1 = BufferMonitor[MonitorSendPointer++]; //发送
}
}
void AnalysisMonitor(void)
{
BufferMonitor[0]=FrameStartMonitor;
BufferMonitor[1]=AnalyseUpMachineFlag;
BufferMonitor[2]=SendToModuleFlag;
BufferMonitor[3]=StateTableRs485.RecCompleteRs485;
BufferMonitor[4]=StateTableRs485.count;
BufferMonitor[5]=Commands;
BufferMonitor[6]=FrameEndMonitor;
LenSendToMonitor=0x07;
MonitorSendPointer=0x00;
SBUF1=BufferMonitor[0];
/* struct StateTable
{
char commands;// 命令号
char count;//向485口发送指令计数器
char LenDataRec;//从组合模块中接收到要保存的数据长度
unsigned char availability;//接收数据有效
unsigned char RecCompleteRs485;//接收完成
char TranBuffRs485[10];//用于存放向RS232发送的重要数据
char TempBuffer[10];
}StateTableRs485;
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -